2020-09-07 手机设备唯一标识
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020-09-07 手机设备唯一标识相关的知识,希望对你有一定的参考价值。
参考技术A IMEI:International Mobile Equipment Identity 国际移动设备身份码的缩写。是由15位数字组成的“电子串号”,它与每台手机一一对应,每个IMEI在世界上都是唯一的。在主板上的,重装APP不会改变。对于android 6.0以后的系统,需要用户授权才能取到IMEI。
IDFA:Identifier For Advertising,ios独有的广告标识符。
1、在同一个设备上的所有App都会取到相同的值。
2、如果用户完全重置系统((设置程序 -> 通用 -> 还原 -> 还原位置与隐私) ,或者用户明确的还原广告(设置程序-> 通用 -> 关于本机 -> 广告 -> 还原广告标示符) ,那么广告标示符会重新生成。
在今年iOS10推出后,苹果推出了“限制广告追踪”功能,设置的路径和iOS9一致。
不过经过实际的测试,在iOS10之前,即使用户打开这个功能,商家一样可以获取IDFA,只不过与之前的不一样了,每次切换这个开关与点击“还原广告标识符”的效果一样。
而iOS10就不一样了,当用户打开这个功能后,商家只能获取到一连串无意义的0
UDID:
用来标示设备的唯一性 。iOS 6 之后被禁止获取系统原生的UDID,但可以通过uuid,写入到钥匙串中,从而获得自定义的UDID(非系统原生),即使用户重装APP,只要每次都取这个钥匙串返回,就是不变的。
Uuid
UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。比如在当前这一秒,全世界产生的UUID都是不一样的;当然同一台设备产生的UUID也是不一样的。
通常平台会提供生成的API。是一个32位的十六进制序列,使用小横线来连接:8-4-4-4-12 。
苹果公司建议使用UUID为应用生成唯一标识字符串。重装APP后会发生改变。
浏览器h5获取不到具体的手机型号和设备唯一标识符
前言
最近对接一个登录接口,要求获取手机型号,设备唯一标识码,然后去百度了一大通,最后得出一个结论。
js是获取不了手机的IMEI信息的,因为js是运行在浏览器上的语言,只能获取浏览器内核信息,获取不了手机本身的设备型号(IMEI,IDFA),手机型号(iphone12,国行A123)
什么是设备唯一标识符?
具体代码实现
npm install mobile-detect --save
import mobileDetect from "mobile-detect"; //具体哪个页面用到单独引用
mounted() {
//判断数组中是否包含某字符串
function contains(sss, needle) {
for (i in sss) {
if (sss[i].indexOf(needle) > 0) return i;
}
return -1;
}
var device_type = navigator.userAgent; //获取userAgent信息
var md = new mobileDetect(navigator.userAgent); //初始化mobile-detect
var os = md.os(); //获取系统
var model = "";
if (os == "iOS") {
//ios系统的处理
os = md.os() + md.version("iPhone");
model = md.mobile();
} else if (os == "AndroidOS") {
//Android系统的处理
os = md.os() + md.version("Android");
var sss = device_type.split(";");
var i = contains(sss, "Build/");
if (i > -1) {
model = sss[i].substring(0, sss[i].indexOf("Build/"));
}
}
this.mobile_models = os + "_" + model;
console.log('您的手机是:'+ this.mobile_models); //打印系统版本和手机型号
},
结果
另外记录下官方文档这部分的内容,截取我们需要的userAgent信息
以上是关于2020-09-07 手机设备唯一标识的主要内容,如果未能解决你的问题,请参考以下文章