iOS – 处理推送通知与APNS
考虑到我收到我的iPhone推送通知。
怎么了:
- 如果应用程序启动:有没有办法获得有效载荷? 我在屏幕上看到通知吗?
- 如果应用程序没有启动,有没有办法获得有效载荷?
Thx为您的答案
首先推送通知不是“强大的”,如果你只是让一个通知坐下足够长的时间(例如关掉电话多天),它将被丢弃。 您需要执行一些自定义后端处理来保留通知中发送的内容。
在UIApplicationDelegate
协议中有application:didFinishLaunchingWithOptions:
如果您的应用程序是由用户在推送通知的提示中点击右键启动的,则绑定到方法调用的launchOptions
字典将包含有关该通知的信息; 如果你的应用程序已经在运行,那么application:didReceiveRemoteNotification:
也在委托协议中)将被调用。
所以,
-
如果应用程序已启动,并且实现
application:didReceiveRemoteNotification:
那么您会得到有效负载。 否则,没有任何反应。 -
如果应用程序在发送通知时未启动,那么用户点击通知的警报并启动您的应用程序,如果
application:didFinishLaunchingWithOptions:
实现application:didFinishLaunchingWithOptions:
程序,则应用程序将获取有效内容application:didFinishLaunchingWithOptions:
否则,你什么也得不到。