我需要为我的cordova应用程序(iOS / Android)的每台设备获取唯一的编号。当用户关闭应用程序或安装新版本时,ID必须相同。
我无法使用“ cordova设备插件”中的UUID,因为当用户升级到新版本时UUID会更改,因此它对我不起作用。
我尝试生成一个唯一的号码并将其存储在手机上。但是,我遇到了一个问题,即信息无法持久保存。
当用户安装应用程序然后从后台删除该应用程序时,会发生这种情况。否则,将保存数据
有什么想法吗?
答案 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");
});