当app在后台时,有人能告诉我们如何获得推送通知的自定义有效负载吗?
如果您的应用在后台并且您收到推送通知并且用户点按应用“查看”,则会启动该应用并调用application:didFinishLaunchingWithOptions:
。在这种情况下,我们可以通过UIApplicationLaunchOptionsRemoteNotificationKey
字典中的userInfo
访问自定义通知有效内容。
如果您的应用在后台并且您收到推送通知并且用户点按应用图标,则会将应用程序带到前台。
当发生这种情况时,只调用applicationDidEnterForeground:
,并且无法访问推送通知的有效负载。
我的要求是仅注册徽章,没有提醒,因此当用户在后台收到通知时,没有“查看”按钮来启动应用。当用户收到通知并且应用程序处于后台时,会调用用户点按应用程序图标applicationDidEnterForeground:
。因此,我们无法访问launchOptions
字典或userInfo
字典,从而获取通知有效负载。
我在这里错过了什么吗?
答案 0 :(得分:7)
application:didReceiveRemoteNotification:
。答案中的link you referred to说明了如何使用它。
编辑: 对不起,我误解了你的问题(错过了你只做徽章)。随意向我投票:(
答案 1 :(得分:2)
我终于知道在app运行后台时无法获得推送通知的自定义有效负载。 This link总结了这一点。