当应用程序处于非活动状态时,无法接收静默通知

时间:2016-12-01 11:48:41

标签: ios push-notification apple-push-notifications firebase-cloud-messaging silentpush

我正在开发一个应用程序,我正在使用静默推送通知,以发送一些数据。当应用程序处于活动状态时,推送正常工作但如果我将应用程序滑出或处于非活动状态,则我的应用程序未收到推送通知。我已在功能下在后台模式下启用推送通知,并在info.plist中添加了所需的后台模式键

这是我与推送一起发送的样本数据

>>'2016-01' in test_df.index
False

我该怎么做才能解决这个问题?? iOS应用可以在非活动模式下接收静音推送通知吗?

  {
   "aps": {
      "content-available": 1
    },
    "yourdatakey":{data}
}

Push在我的应用中扮演着至关重要的角色,不希望出现任何延迟。我该怎么办才能立即接受推送?...

1 个答案:

答案 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。

相关问题