ios handle pushnotification in background
我想保存当应用程序处于后台状态时到达的推送通知。我知道
-(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
当应用程序处于前台或后台时调用此委托方法(如果用户只是单击收到的通知)。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
该方法仅在应用启动时调用一次。
如果用户没有点击通知怎么办?在这种情况下,如何将该通知的数据保存在我的应用程序的数据库中?
对于这种情况,您不能将数据保存在"[您的]应用程序的数据库"中;相反,您将数据保存在服务器上的数据库中,这是首先生成 PushNotification 的地方。然后,当您的应用程序启动时,它会查询您的数据库以获取通知数据。
-
您可以通过通知设置徽章计数,并且仅当计数大于零时,才查询服务器。
-
thanx @GoZoner 您的回答对我也很有价值。
-
@MarcusAdams 这两个答案对我都有帮助,因为第一个解决了我的困惑,第二个给了我在应用程序处于后台状态时如何处理推送的答案。我别无选择,否则我选择了这两种解决方案作为答案。
如果用户没有点击通知,您将无法保存该数据。
即使用户通过点击其启动图标打开应用程序,该应用程序也不会收到该数据。
还记得通知的设计是提供小的有效载荷来提醒用户。
一旦用户启动应用程序,应用程序就可以下载您要保存的真实数据。
- 如果用户没有点击通知,只要您的应用程序正在运行,您的应用程序仍会收到通知,但您无法处理它,直到您的应用程序变为活动状态。这在 iOS7 中发生了变化。我相信即使应用程序未处于活动状态(但在后台运行),您的应用程序也能够处理通知。
-
@MarcusAdams 您是否知道任何可以指导我们的文档/资源来解释如何在 iOS7 的后台获取此远程推送通知数据?