gpt4 book ai didi

iOS - 收到推送通知后阅读

转载 作者:行者123 更新时间:2023-11-29 11:42:38 24 4
gpt4 key购买 nike

我有4个场景

应用未启动时

鉴于应用未启动或终止
当推送通知收到时
并在不点击通知的情况下打开应用程序
然后应用程序应该捕获通知。

当应用在前台运行时

假设应用在前台运行
当推送通知收到时
然后应用程序应该捕获通知。

当应用在后台运行时

假设应用程序在后台运行
当推送通知收到时
并在不点击通知的情况下打开应用程序
然后应用程序应该捕获通知。

当应用未启动并清除通知时

鉴于应用程序未启动或终止
当推送通知收到时
并且用户清除了通知
并打开应用程序
然后应用程序应该捕获通知。

前 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)
}

最佳答案

根据您的查询

When the app is not Launched and cleared the notification

Given the app is not Launched or Killed When the post notification receive And user cleared the notification And opened the app Then the app should capture the notification.

这对于普通推送通知 是不可能的,除非用户与该通知进行交互。您可能想尝试静默通知,它们不会显示在 UI 中,但控件会到达应用程序,您可以在代码中使用那里的数据/有效负载。

当用户清除栏中的通知时,无法获取该信息。您还可以尝试在 API 中添加在推送中发送的相同信息,并在用户打开应用程序时调用它。

This link处理所有涉及的细节。根据您的实现,您可以尝试将两者结合起来。

关于iOS - 收到推送通知后阅读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45631246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com