Ios 按应用捕获推送通知

Ios 按应用捕获推送通知,ios,push-notification,apple-push-notifications,Ios,Push Notification,Apple Push Notifications,是否可以通过应用捕捉每个推送通知 我发现,若应用程序启动,或者用户被一条消息录音,那个么该应用程序可以捕获通知 应用程序使用 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))handler 为了这个 但若设备收到两个或

是否可以通过应用捕捉每个推送通知

我发现,若应用程序启动,或者用户被一条消息录音,那个么该应用程序可以捕获通知

应用程序使用

 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))handler  
为了这个

但若设备收到两个或多个通知,在点击其中一个后,所有通知都将丢失(应用程序捕获仅一个)。或者如果用户突然删除推送通知


那么,这是保存每个通知的方式吗(当然是以我的应用程序为界)

在AppDelegate类中有一个方法
application DidReceiveMemoteNotify:
。您可以使用它来跟踪应用程序收到的所有通知

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))handler {

//Track your notifications.
//Save your notifications.

}

根据设计,APNS体系结构只存储最新的推送通知。 这是因为向客户端发送推送通知不可靠,设备可能处于脱机状态,用户可能拒绝接收推送通知,网络端口被阻止或其他一些原因

这种仅保留最新通知的行为称为“合并通知”。 更多信息请点击此处:


在客户端,行为是相同的,一旦你启动应用程序,你的字典中只有你上次收到的通知的有效负载。有效负载不会堆积。

如果用户已删除推送通知的注册,您的应用程序将无法获取它们。您可以考虑解决方法,具体取决于应用程序的使用情况,并创建一个可由代码触发的自定义通知横幅。