【问题标题】:How to get a unique identifier for iphone and android如何获取 iphone 和 android 的唯一标识符
【发布时间】:2019-05-01 18:16:05
【问题描述】:

我需要为我的 cordova 应用程序(iOS/Android)的每台设备获取一个唯一编号,当用户关闭应用程序或安装新版本时,该 ID 必须相同

我无法使用“cordova 设备插件”中的 UUID,因为当用户升级到新版本时 UUID 会发生变化,因此它对我不起作用。

我尝试生成一个唯一号码并将其存储在手机上。但是,我遇到了信息不持久的问题。

当用户安装应用程序然后从后台删除应用程序时会发生这种情况。否则,数据被保存

有什么想法吗?

【问题讨论】:

    标签: android iphone cordova


    【解决方案1】:

    使用 MAC 地址:

    cordova plugin add cordova-plugin-ip-mac-address
    

    var params = {};
    addressimpl.request("getMACAddress", JSON.stringify(params), function(message) {
            alert("mac address "+message);
       }, function() {
            alert("failed on get mac address");
        });
    

    From here

    【讨论】:

      【解决方案2】:

      一种可能性是使用cordova-plugin-cloud-settings,它允许您跨设备和安装将用户设置保留在云存储中。

      安装它:

      cordova plugin add cordova-plugin-cloud-settings
      

      使用它来存储 GUID:

      var settings = {
        GUID: 12345678
      }
      cordova.plugin.cloudsettings.save(settings);
      

      这个解决方案的好处是它不需要任何特殊的用户权限。

      如果您真的想要一个唯一的设备 ID(相对于唯一的用户 ID),那么您可以使用 UniqueDeviceID 插件。

      但是,请注意,在 Android 上,这使用 SIM ID 来获取标识符,因此 requires READ_PHONE_STATE permission 会显示用户权限提示“允许拨打和管理电话”,这不利于用户的信任。

      【讨论】:

        【解决方案3】:

        您可以使用手机的序列号作为唯一标识符

        【讨论】:

        • 谢谢,但“cordova-plugin-device”插件中的序列号方法仅适用于 Android 和 OSX 平台...不适用于 iOS...iOS 和 Android 都需要它。有吗为两个平台获取它的另一种选择
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多