首页 > 解决方案 > 如何为支持的 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 通知中心的标准通知。非常感谢!另外,请有人帮忙解决我的其他问题: 设置接收通知的延迟并快速加载应用程序

也许任何人都可以为我们的后端开发人员提供信息。

标签: iosswiftbackenddeviceremote-notifications

解决方案


推荐阅读