关于iphone:ios在后台处理推送通知

ios handle pushnotification in background

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

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

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

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

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

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


对于这种情况,您不能将数据保存在"[您的]应用程序的数据库"中;相反,您将数据保存在服务器上的数据库中,这是首先生成 PushNotification 的地方。然后,当您的应用程序启动时,它会查询您的数据库以获取通知数据。


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

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