更新记录
1.0.0(2024-02-28)
android14设备支持
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 14.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
HL_DeviceID
获取设备唯一ID、设备唯一标识。支持获取OAID、AndroidID、IMEI等。
说明
- 稳定性高、集成简单、长期维护
- 购买后其他文件需求,通用的免费开发
设备唯一标识说明:
1、IMEI(International Mobile Equipment Identity):
- 定义:IMEI 是国际移动设备身份码,用于唯一标识 GSM 和 UMTS 移动电话设备。
- 限制:android10以前需要权限才能获取到,android10以后基本无法获取到
- 如何查看:一般在系统的关于手机信息页面可以查看到IMEI号
2、OAID(Android Advertising ID):
- 定义:OAID 是 Android 系统提供的用于广告追踪的匿名标识符。
- 说明:大多国内手机都能正常获取到,老设备、国外设备可能无法正常获取
- 如何查看:华为设备在系统设置-隐私安全- 跟踪管理里可以查询到OAID。
3、Android ID:
- 定义:Android ID 是 Android 设备的唯一标识符,用于标识设备。
- 说明:
- 基本设备都能正常获取到,少部分设备无法获取。
- 每个应用获取的AndroidID都不一致。
- 单个应用卸载重装后AndroidID不变
- 如何查看:系统无法查询到
4、UUID(Universally Unique Identifier):
- 定义:含义:随机生成的设备ID
- 说明:卸载重装后UUID会发生变化
- 如何查看:系统无法查询到
5、ClientID:
- 定义:结合以上的设备标识,返回的ClientID确保不会为空
- 说明:获取优先级如下
- 1、IMEI或MEID
- 2、OAID
- 3、AndroidID
- 4、UUID
- 如何查看:如返回的设备标识是IMEI或OAID可以在系统中查看到
扫码下载体验Demo
二维码更新时间:2024年02月25日
插件api
1. 使用插件
var HL_DeviceID = uni.requireNativePlugin("HL-DeviceID");
1. 插件方法使用说明
API说明
方法名称 | 参数 | 返回参数 | 说明 |
---|---|---|---|
register | 回调方法 | 无 | 异步方法 初始化插件,未初始化无法获取部分设备标识符 PS:初始化插件要注意APP合规性,若最终用户未同意隐私政策则不要调用 |
isSupportOAID | 无 | boolen | 同步方法 判断是否支持获取OAID |
getOAID | 无 | string | 同步方法 获取OAID |
getOAIDAsyn | 回调方法 | 无 | 异步获取OAID |
getAndroidID | 无 | string | 同步方法 获取AndroidID |
getClientID | 无 | string | 同步方法 获取ClientID |
getClientIDJson | 回调方法 | 无 | 异步获取ClientID |
回调参数
参数 | 说明 |
---|---|
code | 回调状态码,0:成功、其他:失败 |
msg | 回调状态说明 |
id | 回调标识符id |
idmd5 | 回调标识符id的MD5值 |
idtype | 回调标识符的类型说明。取值:IMEI/MEID、OAID、AndroidID、UUID |
代码示例
< script >
// 获取 module
var HL_OfdReader = uni.requireNativePlugin("HL-OFDReader");
//初始化插件
register() {
HL_DeviceID.register(result => {
this.data.showMsg = "初始化插件:" + JSON.stringify(result);
// modal.toast({
// message: "初始化插件",
// duration: 1.5
// });
})
},
//判断是否支持获取设备ID
isSupportOAID() {
const result = HL_DeviceID.isSupportOAID()
this.data.showMsg = "是否支持获取OAID:" + result;
// modal.toast({
// message: JSON.stringify(result),
// duration: 1.5
// });
},
//判断是否支持获取设备ID
getOAID() {
const result = HL_DeviceID.getOAID()
this.data.showMsg = "OAID:" + result;
// modal.toast({
// message: (JSON.stringify(result)),
// duration: 1.5
// });
},
//异步获取OAID
getOAIDAsyn() {
HL_DeviceID.getOAIDAsyn(result => {
this.data.showMsg = "异步获取OAID:" + JSON.stringify(result);
// modal.toast({
// message: (JSON.stringify(result)),
// duration: 1.5
// });
})
},
//获取androidID
getAndroidID() {
const result = HL_DeviceID.getAndroidID();
this.data.showMsg = "androidID:" + result;
// modal.toast({
// message: (JSON.stringify(result)),
// duration: 1.5
// });
},
//获取设备
//ps:获取优先级
//1、IMEI或MEID:
//2、OAID:
//3、AndroidID:
//4、GUID或UUID:随机生成的ID,卸载重装后ID会变化
getClientID() {
const result = HL_DeviceID.getClientID();
this.data.showMsg = "clientID:" + result;
// modal.toast({
// message: (JSON.stringify(result)),
// duration: 1.5
// });
},
//获取设备id详细信息
//ps:获取优先级
//1、IMEI或MEID:
//2、OAID:
//3、AndroidID:
//4、GUID或UUID:随机生成的ID,卸载重装后ID会变化
getClientIDJson() {
const result = HL_DeviceID.getClientIDJson();
this.data.showMsg = "clientIDJson:" + JSON.stringify(result);
// modal.toast({
// message: (JSON.stringify(result)),
// duration: 1.5
// });
}
< /script>