我目前正在开发一个项目,该项目需要在收到通知时将推送通知详细信息存储在本地存储中。
截至目前,我可以在应用处于前景和后台时接收并存储推送通知。
但是,当应用程序强制关闭时,我无法存储通知,因为在收到通知时我没有在代码中获得任何触发器, 如果点击通知面板中的通知,那么我将在代码中获得触发器。
我想要和接近的是我可以保存通知,即使应用程序处于被杀死状态,也可以触摸收到的通知。
答案 0 :(得分:2)
当您的应用被杀时,您永远不会获得有关APNS的任何信息。
现在,当应用程序被杀,然后打开应用程序时,您将如何获得有关通知的详细信息。我遇到了同样的问题,这是我申请解决的问题。
我们创建了一个名为Notification detail的表。
当服务器同时触发任何推送通知时,我们将其保存在上表中。当应用程序启动时,我们通过used-id
获取所有通知我们还保存最后一个通知ID来管理徽章计数。
答案 1 :(得分:0)
您可以通过设置以下配置,在您的应用未运行时收到PushNotification。
"content-available:true"
。现在,一旦收到"content-available:true"
的推送消息,iOS就会在后台模式下自动启动您的应用。因此,您可以使用以下方法保存更新。
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
有关Apple的更多信息,请参阅此doc。另请参阅此doc。
谢谢!
答案 2 :(得分:-1)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//Check here launchOptions.
return YES;
}
如果强制关闭应用程序,则单击通知警报时将调用此方法。
检查launchOptions
。如果lauchOptions不是nil则会出现通知并相应地处理通知。您可以从userInfo
获取launchOptions
。 userInfo
包含推送通知的所有信息。