我正在开发一个应用程序,我正在使用静默推送通知,以发送一些数据。当应用程序处于活动状态时,推送正常工作但如果我将应用程序滑出或处于非活动状态,则我的应用程序未收到推送通知。我已在功能下在后台模式下启用推送通知,并在info.plist中添加了所需的后台模式键
这是我与推送一起发送的样本数据
>>'2016-01' in test_df.index
False
我该怎么做才能解决这个问题?? iOS应用可以在非活动模式下接收静音推送通知吗?
{
"aps": {
"content-available": 1
},
"yourdatakey":{data}
}
Push在我的应用中扮演着至关重要的角色,不希望出现任何延迟。我该怎么办才能立即接受推送?...
答案 0 :(得分:0)
据我所知,静音推送通知看起来应该是这样的:
{
"to" : "<DEVICE_ID>",
"priority" : "high",
"content_available" : true,
"data" : { "custom_key":"custom value", "custom_key_2":"custom value 2" }
}
对我来说,当应用程序位于前台或后台时,几乎立即发送。但是,当应用程序处于非活动状态时,它根本不会通过(它不启动应用程序来处理消息)。
如果我在信息中添加以下内容:
"notification" : { "body" : "Notification Text", "sound" : "chime.aiff" }
当应用程序处于非活动状态时,它将播放铃声并在通知区域中显示“通知文本”,但仍然无法启动应用程序来处理消息的数据部分。我明白这可能是设计的,但是当我的应用程序处于非活动状态时,我正在使用它来确认我正在获取某些内容。
所以,这可能会帮助你解决一半问题(立即获得推送通知),但我担心在应用程序处于非活动状态时我仍然试图让它工作。
编辑:如果用户强行关闭应用程序(从任务管理器向上滑动),Apple会在推送通知进入时禁用启动应用程序。无法执行任何操作它。 Apple的文档指出,如果您再次手动启动应用程序或重新启动设备,它将重新启用从静默推送通知启动应用程序,但我没有发现是这种情况。我认为简短的回答是:“当Apple决定让它们运行时,iOS上的静音推送通知就会起作用。”我想如果您需要一个以预期方式运行的移动操作系统,请将您的用户引导至Android。