考虑到我在iPhone上收到推送通知。
发生了什么:
- 如果应用程序已经启动:有没有一种方法可以获取有效载荷?我能在屏幕上看到通知吗?
- 如果应用程序没有启动,有没有一种方法可以获取有效载荷?
谢谢您的回答。
考虑到我在iPhone上收到推送通知。
发生了什么:
谢谢您的回答。
首先,推送通知并不是“强制性的”,如果你让一个通知停留足够长的时间(例如手机关闭了多天),它将被丢弃。你需要进行一些自定义的后端处理来保留发送通知中的内容。
UIApplicationDelegate
协议中有application:didFinishLaunchingWithOptions:
方法。如果用户通过推送通知的警报中正确的按钮启动您的应用程序,则绑定到该方法调用的launchOptions
字典将包含有关该通知的信息;如果您的应用程序已经在运行,则代理协议中的application:didReceiveRemoteNotification:
将被调用。
所以,
如果应用程序正在运行,并且您实现了application:didReceiveRemoteNotification:
,那么是的,您会收到有效负载。否则,没有任何操作。
如果应用程序在发送通知时未启动,则用户点击通知的警报并启动您的应用程序,则如果实现了application:didFinishLaunchingWithOptions:
,您的应用程序将收到有效负载。否则,您将得到无效信息。
launchOptions
不再使用。 应用程序打开后,将调用didReceiveRemoteNotification
。 - Jacksonkr