概念
APNs(Apple Push Notification service)是远程通知功能的核心。 它是一种强大、安全且高效的服务,可供应用程序开发人员将信息传播到 iOS(以及间接的 watchOS)、tvOS 和 macOS 设备。
Workflow
如何使用
- 注册远程通知
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. //注册远程通知,获取Device Token UIApplication.shared.registerForRemoteNotifications() return true }
- 处理成功回调
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { //发送Token到Provider服务器 sendToken() }
- 处理失败回调
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) { //可以在一段时间后进行重试注册远程通知 }
Device Token 重新生成的时机
- 用户在新设备上安装你的应用
- 用户从备份中恢复设备
- 用户重新安装操作系统
- 其他系统定义的事件
参考文档
APNs Overview
Registering your app with apns
Sending notification requests to apns
Generating a remote notification)