ios - 如何远程更新 APNS 设备令牌
问题描述
我的应用程序正在使用远程通知来提醒用户计划的操作。即使在几个月后,用户也可能会收到通知。
应用程序在每次启动时都会更新设备令牌(将接收到的令牌发送到服务器)。
但有一个问题。有时设备令牌变得无效。(后端服务从 APNS 收到错误“无效令牌”)。我知道设备令牌可以更改是正常的。但是有一种情况是用户在几个月后设置了提醒并且在此期间不使用应用程序。
如何在设备令牌过期和应用程序关闭时更新设备令牌?
解决方案
每次应用运行时都会调用下面的 AppDelegate 方法,所以每次应用运行时都需要发送 APN 令牌:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let tokenParts = deviceToken.map { data -> String in
return String(format: "%02.2hhx", data)
}
let token = tokenParts.joined()
print("token :: ", token)
//TODO:- now you need to send above token to your API that saved this token to user profile
}
推荐阅读
- java - Java MultiThreads UnitTest does not notice change in class
- java - How to Ignore javascript outgoing calls in Gecko Driver?
- reactjs - Performing find function to search inside the main state
- c++ - Is there any way to change the value of an array? C++
- html - 输入:-internal-autofill-selected 在 Chrome 上被覆盖(通过 webkit?)
- computer-science - 证明可判定语言类在以下操作下是封闭的:互补、连接和交集
- java - InheritanceType.JOINED 和 Spring Data Rest 的问题
- javascript - 有谁知道每次打开 index.html 页面时如何自动运行 .json 文件中的脚本?
- html - 是否有“Enter”或“Tab”excel VBA 可以在网页上执行?
- python - 对张量流图的部分进行基准测试的正确方法是什么?