UUID通用唯一识别码。目前最广泛应用的UUID,是微软公司的全局唯一标识符GUID。其目的是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。所以UDID是移动端相对最靠谱的设备标识码,不论Android或iOS,即使APP重装,值也不变,除非root手机(普通用户做不到)。
那么在使用uniapp开发移动端应用时候,如何获取设备的uuid呢?
//获取设备的唯一标识号
console.log("UUID: "+plus.device.uuid);
目前官网不推荐使用该方式了,建议使用5+ api的属性方式获取imei、imsi、uuid信息的代码调整使用plus.device.getInfo方法。为了保证向下兼容,目前还可以使用,但不一定可以获取到正确的值。
注意:调用plus.device.uuid不会触发授权提示框
// 获取设备信息
plus.device.getInfo({
success:(e)=>{
console.log('getDeviceInfo success: '+JSON.stringify(e));
},
fail:(e)=>{
console.log('getDeviceInfo failed: '+JSON.stringify(e));
}
});
方法调用成功,返回信息包括:国际移动设备身份码、国际移动用户识别码、设备的唯一标识(UUID)等信息。
注意:Android平台各大应用商店已经要求API等级(targetSdkVersion)为26或以上。高版本Android系统完善了授权系统,获取设备信息(如imei)需要经过用户授权确认,弹出获取设备信息的授权提示框:
在Android平台当应用需要获取设备信息时调用此API,就会触发弹出授权提示框,不获取设备信息是不会弹出设备信息授权提示框,并且需要用允许才能获取到对应的值。
Android10以前获取设备标识(如IMEI、IMSI、Wi-Fi MAC地址等)涉及用户隐私且需用户授权,Android10+系统不再支持获取设备标识信息。
为解决此问题移动安全联盟联合各手机厂商推出移动智能设备标识公共服务平台提供补充设备标识体系,包括匿名设备标识符(OAID)、开发者匿名设备标识符(VAID)和应用匿名设备标识符(AAID)。 匿名设备标识符(OAID)最长为64位字符串,所有应用获取的值相同,可用于个性化推荐、广告等业务。 系统首次启动后生成,用户手动重置、恢复出厂设置、设备商重置、被刷机等操作会重置此标识。
plus.device.getOAID({
success:(e)=>{
console.log('getOAID success: '+JSON.stringify(e));
},
fail:(e)=>{
console.log('getOAID failed: '+JSON.stringify(e));
}
});
注意:必须在Android - 10+,同时仅在华为、OPPO、VIVO、小米、联想等设备支持。
非 App 端由 uni-app 框架生成并存储,清空 Storage 会导致改变。
uni.getSystemInfoSync().deviceId
在非app的使用场景下,我们可以使用这种方式来模拟唯一标识UUID。当然也可以使用fingerprint2.js来生成浏览器指纹标识,经测试也存在一定的不精准性(官网称具有95%以上的唯一性,大家可以下载来尝试),关于fingerprint2.js的介绍:https://www.fly63.com/nav/3481。
UUID 的全称是 Universally Unique Identifier,中文为通用唯一识别码。构成:由一组32位数的16进制数字所构成。格式:以连字号分为五段,表现形式为8-4-4-4-12的32个字符
之前代码中前端生成唯一的id方式,一般采用uuid的方式,最近唯一id有了更好的方式,那就是NanoID,今天这篇文章记录一下NanoID 正在取代 UUID?及js 生成uuid及NanoID的方法
UUID是软件开发中最常用的通用标识符之一。然而,在过去的几年里,新的替代品挑战了它的存在。其中,ULID 是领先的竞争对手之一,因为它提供可排序的唯一 ID。
UUID 是软件开发中最常用的通用标识符之一。然而,在过去的几年里,其他的竞品挑战了它的存在。其中,NanoID 是 UUID 的主要竞争对手之一。
UUID(Universally Unique IDentifier) 全局唯一标识符。UUID是一种由算法生成的二进制长度为128位的数字标识符。在理想情况下,任何计算机和计算机集群都不会生成两个相同的UUID。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!