ios在后台处理推送通知

时间:2013-06-12 14:20:27

标签: iphone ios objective-c push-notification apple-push-notifications

我想保存应用程序处于后台状态时到达的推送通知。我知道

-(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

当应用程序处于前台或后台时(如果用户只是点击收到的通知),就会调用此委托方法。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

此方法仅在应用启动时调用一次。

如果用户没有点击通知怎么办?在这种情况下,如何将该通知的数据保存在我的应用程序的数据库中?

2 个答案:

答案 0 :(得分:3)

如果用户未单击通知,则无法保存该数据。 即使用户通过点击其启动图标打开应用程序,该应用也不会收到该数据。

还要记住,通知的设计是提供小的有效负载以提醒用户。  一旦用户启动应用程序,该应用程序就可以下载您要保存的真实数据。

答案 1 :(得分:2)

对于这种情况,您无法将数据保存在“[your] app”数据库​​中;而是将数据保存在服务器上的数据库中,这是首先生成PushNotification的位置。然后,当您的应用程序启动时,它会查询您的数据库以获取通知数据。