更新记录

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。

具体说明

  1. 暂不支持web、小程序平台,如果在引入插件时报错,请使用条件编译。
  2. 安卓端按照以下先后顺序生成ClientID:IMEI、OAID、AndroidID、PseudoID、GUID,也就是说,如果获取不到IMEI,就获取OAID。如果获取不到OAID,就获取AndroidID……,以此类推。
  3. iOS端仅使用KeyChain的方式生成和获取ClientID。
  4. 鉴于各设备平台的限制,目前并没有真正的确保app卸载后ClientID不变的方法,所谓的卸载不变仅是指一般情况下的卸载不变。
  5. 唯一标识可能变化的情况。安卓端:还原系统或刷机、重置广告标识符(OAID)、重置AndroidID。iOS端:还原系统。
  6. 插件还有更多高级用法,后面有时间了再补充文档。

目前uni-app x的bug比较多,官方文档也不完善,我踩了不少坑才把这个插件的相关功能做出来,且用且珍惜吧。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

安卓端:调用插件api必须确保用户已同意了隐私协议,否则会影响上架 iOS端:无需任何权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问