ios - 如何为支持的 swift 获取唯一的 DeviceID
问题描述
这是个很难的问题。)
每次我们安装应用程序时,我们都会获取后端的 DeviceID,他们会向我们发送带有此信息的推送。所以我们使用
var deviceId = UIDevice.current.identifierForVendor?.uuidString
当用户在另一台设备上安装我们的应用程序时,我们获得了新的 deviceID,因此用户获得了 2 个 deviceID,并且 2 个推送将被发送 1 个操作。
下一步,如果我们的用户从手机中删除应用程序,并在重新安装后,我们的应用程序会为同一用户最后一段 Apple获取新的 deviceID 。所以后端现在有 3 个设备 ID,但只在 2 个设备上。后端认为用户只是在新设备上输入,但这是错误的,现在通过来自支持的 1 次推送,我们收到第二台设备的 1 次推送,第一个设备收到 2 次类似的推送。如果用户重新安装我们的应用程序 10 次,这意味着他将收到 1 次推送 10 次。因为我们有 10 个不同的 deviceID。那么,有人可以解释如何正确执行此操作,或者有人可以分享任何其他信息)我们收到通知
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
这是来自 Apple 通知中心的标准通知。非常感谢!另外,请有人帮忙解决我的其他问题: 设置接收通知的延迟并快速加载应用程序
也许任何人都可以为我们的后端开发人员提供信息。
解决方案
推荐阅读
- java - 从本地文件的 WSDL 和 xsd 生成 java 代码的替代方法
- c# - 通过 DataGridView 保存对数据库的更改
- grails - Grails json 视图:不透明视图选择 - 在另一个目录中选择默认模板
- c# - 设置数组值以将请求发送到 Web 服务的 C# 问题
- postgresql - 如何保护触发器不被删除?
- python - Python ndarray 管理
- python - 如何检查 int 是否在 0 和 3 之间?
- junit - 覆盖场景大纲 [Cucumber] 的 configureTypeRegistry
- django - 使用 prefetch_related 后仍然面临 n+1
- javascript - react-native 版本 0.57.8 中的 Google 登录错误