我需要为我的cordova应用程序(iOS/Android(的每个设备获取一个唯一的编号。当用户关闭应用程序或安装新版本时,ID必须相同
我不能使用"cordova设备插件"中的UUID,因为当用户升级到新版本时,UUID会发生变化,所以它对我不起作用。
我试着生成一个唯一的号码并将其存储在手机上。然而,我遇到了一个信息没有持久化的问题。
当用户安装应用程序,然后从后台删除该应用程序时,就会发生这种情况。否则,数据保存为
有什么想法吗?
您可以使用手机的序列号作为唯一标识符
一种可能性是使用cordova插件云设置,它允许您在云存储中跨设备和安装持久化用户设置。
安装:
cordova plugin add cordova-plugin-cloud-settings
使用它来存储GUID:
var settings = {
GUID: 12345678
}
cordova.plugin.cloudsettings.save(settings);
这个解决方案的好处是它不需要任何特殊的用户权限。
如果你真的想要一个唯一的设备ID(相对于唯一的用户ID(,那么你可以使用UniqueDeviceID插件。
然而,请注意,在Android上,这使用SIM ID来获取标识符,因此需要READ_PHONE_STATE
权限,该权限会显示用户权限提示"允许拨打和管理电话",这对用户的信任不太好。
使用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");
});
从这里