如何获得iPhone和Android的唯一标识符

时间:2018-11-29 16:09:59

标签: android iphone cordova

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

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

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

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

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

一种可能性是使用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会显示用户权限提示“允许拨打和管理电话”,这对用户的信任不利

答案 2 :(得分:0)

使用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