iOS – 处理推送通知与APNS

考虑到我收到我的iPhone推送通知。

怎么了:

  1. 如果应用程序启动:有没有办法获得有效载荷? 我在屏幕上看到通知吗?
  2. 如果应用程序没有启动,有没有办法获得有效载荷?

Thx为您的答案

首先推送通知不是“强大的”,如果你只是让一个通知坐下足够长的时间(例如关掉电话多天),它将被丢弃。 您需要执行一些自定义后端处理来保留通知中发送的内容。

UIApplicationDelegate协议中有application:didFinishLaunchingWithOptions: 如果您的应用程序是由用户在推送通知的提示点击右键启动的,则绑定到方法调用的launchOptions字典将包含有关该通知的信息; 如果你的应用程序已经在运行,那么application:didReceiveRemoteNotification:也在委托协议中)将被调用。

所以,

  • 如果应用程序已启动,并且实现application:didReceiveRemoteNotification:那么您会得到有效负载。 否则,没有任何反应。

  • 如果应用程序在发送通知时未启动,那么用户点击通知的警报并启动您的应用程序,如果application:didFinishLaunchingWithOptions:实现application:didFinishLaunchingWithOptions:程序,则应用程序将获取有效内容application:didFinishLaunchingWithOptions: 否则,你什么也得不到。