iOS版 - 阅读,一旦收到推送通知
我有4个场景iOS版 - 阅读,一旦收到推送通知
当应用程序没有启动
给出的应用程序不启动或杀死
当推送通知接收
并开通该应用程序不需要点击通知
然后应用程序应该捕获通知。
当应用程序在前台
鉴于前景
运行时,推送通知接收
然后应用程序应该捕获通知的应用程序运行。
当应用程序在后台
由于应用程序在后台
运行时,推送通知接收
,打开应用程序,而不攻通知
然后应用程序应该捕获通知运行。
当应用程序未启动,清除通知
给出的应用程序没有启动或杀死
当推送通知接收
而用户清除通知
,打开应用程序
然后应用程序应该捕获通知。
第3方案正常工作与下面的代码
的最后一个场景是没有工作当应用程序未启动,清除通知
的AppDelegate
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().getDeliveredNotifications(completionHandler: { requests in
for request in requests {
self.setNotification(userInfo: request.request.content.userInfo as NSDictionary)
}
})
}
return true
}
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
setNotification(userInfo: userInfo as NSDictionary)
}
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
setNotification(userInfo: userInfo as NSDictionary)
}
根据您的查询
当应用程序未启动,清除通知
由于应用程序没有启动或杀害,当后通知 接收和用户清除了通知,打开应用程序,然后在 应用程序应该捕获通知。
,这是不可能的普通推送通知,除非用户与通知交互。您可能想尝试无声通知,这些未在用户界面中显示,但控件到达应用程序,您可以使用代码中的数据/有效内容。
当用户从栏中清除通知时,无法获取该信息。 您也可以尝试添加API中推送中发送的相同信息,并在用户打开该应用程序后调用该信息。
This link涉及所有涉及的细节。根据你的实现,你可以尝试两者的结合。
谢谢@Umar。我正在使用无声通知。唯一关心的是通知被清除。如果没有办法必须从API获取。 – Vignesh
@Vignesh如果您使用API以及获取数据,会发生什么是无论用户何时清除通知,只要应用程序打开,用户就能够通过API调用来查看最新数据......接受答案是否有帮助 –
**你不能** 想象一下,你有5个通知在屏幕上。你解雇所有5人,然后你启动应用程序。 应用程序应该如何知道应该考虑哪个通知? – Honey
谢谢@Paras Gorasiya – Vignesh
@Honey这是我的问题?有什么方法可以在没有restAPI的情况下获得这些通知。 – Vignesh