更新记录
1.0.2(2024-05-14)
发布新版
1.0.1(2024-05-13)
增加使用文档
1.0.0(2024-05-13)
发布插件
查看更多平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.97,Android:4.4,iOS:12,HarmonyNext:不确定 | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × |
使用方法
引入插件
import { Device, DeviceCallback } from "@/uni_modules/hx-deviceid";
获取ClientID
Device.getClientID({
success: (res: any) : void => {
console.log('获取成功:', res);
},
fail: (err: any) : void => {
console.log('获取失败:', err);
}
} as DeviceCallback);
获取所有支持的各类ID
Device.getAll({
success: (res: any) : void => {
console.log('获取成功:', res);
},
fail: (err: any) : void => {
console.log('获取失败:', err);
}
} as DeviceCallback);
注:使用getAll方法时,将返回UTSJSONObject类型。其中ClientID为一个json对象,包含“type”和“res”,“type”是指用什么方法生成的ClientID。
具体说明
- 暂不支持web、小程序平台,如果在引入插件时报错,请使用条件编译。
- 安卓端按照以下先后顺序生成ClientID:IMEI、OAID、AndroidID、PseudoID、GUID,也就是说,如果获取不到IMEI,就获取OAID。如果获取不到OAID,就获取AndroidID……,以此类推。
- iOS端仅使用KeyChain的方式生成和获取ClientID。
- 鉴于各设备平台的限制,目前并没有真正的确保app卸载后ClientID不变的方法,所谓的卸载不变仅是指一般情况下的卸载不变。
- 唯一标识可能变化的情况。安卓端:还原系统或刷机、重置广告标识符(OAID)、重置AndroidID。iOS端:还原系统。
- 插件还有更多高级用法,后面有时间了再补充文档。
目前uni-app x的bug比较多,官方文档也不完善,我踩了不少坑才把这个插件的相关功能做出来,且用且珍惜吧。