gpt4 book ai didi

ios - iOS 10 中的远程通知

转载 作者:搜寻专家 更新时间:2023-11-01 06:18:09 24 4
gpt4 key购买 nike

所以我们都知道 Apple 在今年夏天推出了 UserNotifications Framework,它很棒。根据 Apple 的 API 引用资料和关于此框架的 WWDC session ,我们现在有一种注册推送通知的新方法,如下所示:

 UNUserNotificationCenter.current().requestAuthorization(options: [options], completionHandler: {})

但很明显,此方法不会从 APNs 服务器获取 deviceToken,因此 Apple 在 UIKit 中保留了一些 API,如下所示:

UIApplication.shared.registerForRemoteNotifications()
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data){}

这是注册和获取远程通知的deviceToken的两种方法。

所以如果我只想注册 Remote Notifications 是否还需要做 requestAuthorization 事情就变得模棱两可了?还是 requestAuthorization 只是为了注册本地通知?

另外,如果我需要实现它们,即使我只想注册远程通知,我应该在哪里编写 registerForRemoteNotifications()?我应该把它写在 requestAuthorizationcompletionHandler 中,还是应该把它写在外面,就好像这两个 requestregister 事物是并行运行的吗?

最佳答案

如果您只想注册远程通知,您仍然需要requestAuthorization,因为这是您询问用户是否可以显示警报和声音的方式,这适用于本地和远程通知.

您可以在 requestAuthorization 完成处理程序之外调用 registerForRemoteNotifications 并允许它们并行运行。

更新:

registerForRemoteNotifications 为您获取用户 token 无论是否他们已批准推送通知。

如果用户拒绝,这有什么用?

在未来的任何时候(在您的应用程序调用 requestAuthorization 以表明它想要发送通知之后),用户可以进入“设置”应用程序,点击您的应用程序,然后打开允许通知设置。

如果您已经在使用用户的 token 发送通知,则这些通知将在用户打开权限时开始发送,您无需执行任何操作。

关于ios - iOS 10 中的远程通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39778066/

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