更新记录
1.0.0(2026-06-17)
- 新增
lizhao-device-id设备唯一标识 UTS插件。 - 支持 Android / iOS / HarmonyOS 三端 App 接入,并提供 Web、微信小程序、支付宝小程序降级入口。
- 新增
getDeviceId、getDeviceIdSync、resetAppInstallId、getDeviceIdCapability。 - Android 默认使用
Settings.Secure.ANDROID_ID,并使用本地安装 ID 兜底。 - iOS 默认使用
UIDevice.current.identifierForVendor,并使用本地安装 ID 兜底。 - HarmonyOS 首版提供本地安装 ID 兜底,并预留 ODID、AAID、OAID 扩展边界。
- 明确不默认读取 IMEI、MEID、MAC、Serial、UDID 等高风险硬件标识;广告标识能力仅通过
advertising策略返回诊断,不默认集成广告 SDK。
平台兼容性
uni-app(4.84)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ | √ | √ | √ |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| √ | √ | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.84)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ |
设备唯一标识 UTS插件
lizhao-device-id 是一个面向 uni-app / uni-app x 的设备唯一标识 UTS插件,用于在 Android、iOS、HarmonyOS 中获取可解释、可诊断、可重置边界清晰的设备标识。
功能特色
- 三端统一:Android / iOS / HarmonyOS 使用同一套 API。
- 结构化返回:不仅返回
id,还返回source、scope、permissionStatus、resetHint、rawAvailable等字段。 - 合规优先:默认不默认读取 IMEI、MEID、MAC、Serial、UDID 等高风险硬件标识。
- 广告标识隔离:OAID / IDFA 只在
advertising策略中返回能力诊断,不默认集成广告 SDK。 - 可诊断:业务能清楚知道当前 ID 来自 AndroidId、IDFV、本地安装 ID,还是平台降级。
接入方式选择
| 场景 | 推荐策略 | 说明 |
|---|---|---|
| 设备统计、匿名风控、普通业务去重 | privacy |
默认策略,优先使用平台合规作用域 ID,失败时回落本地安装 ID |
| 希望 App 生命周期内尽量稳定 | stable |
与 privacy 同一安全链路,文档中明确重置边界 |
| 广告归因、投放监测 | advertising |
仅返回 OAID / IDFA 能力诊断;需业务单独接入 SDK、权限和隐私政策 |
| 想读取 IMEI / MAC / Serial | 不推荐 | 插件默认不提供,避免现代系统限制和审核风险 |
最小可运行示例
import { getDeviceIdSync } from '@/uni_modules/lizhao-device-id'
// 默认 privacy 策略:优先返回平台合规作用域 ID,失败时回落本地安装 ID。
const result = getDeviceIdSync({
strategy: 'privacy',
includeRawId: false
})
console.log('设备标识', result.id, result.source, result.resetHint)
异步回调示例
import { getDeviceId } from '@/uni_modules/lizhao-device-id'
// 兼容 uni API 风格:success / fail / complete 均可选。
getDeviceId({
strategy: 'stable',
success(res) {
console.log('获取成功', res)
},
fail(err) {
console.log('获取失败', err)
},
complete(res) {
console.log('获取完成', res)
}
})
能力诊断示例
import { getDeviceIdCapability } from '@/uni_modules/lizhao-device-id'
// 用于上线前展示平台能力,也适合写入售后诊断日志。
const capability = getDeviceIdCapability()
console.log(capability.platform, capability.sources, capability.message)
API
getDeviceId(options)
说明 异步获取设备标识。
支持平台 Android / iOS / HarmonyOS / Web / 微信小程序 / 支付宝小程序
参数
| 参数 | 类型 | 必填 | 说明 | 默认值 | 可选参数 |
|---|---|---|---|---|---|
| options | DeviceIdOptions | 否 | 获取设备标识的参数对象 | { strategy: 'privacy' } |
strategy / includeRawId / success / fail / complete |
| options.strategy | string | 否 | 获取策略 | privacy |
privacy / stable / advertising |
| options.includeRawId | boolean | 否 | 是否返回原始平台标识到 rawId |
false |
true / false |
| options.success | function | 否 | 成功回调,返回 DeviceIdResult |
无 | 无 |
| options.fail | function | 否 | 失败回调,返回 DeviceIdFail |
无 | 无 |
| options.complete | function | 否 | 完成回调 | 无 | 无 |
返回值
| 字段 | 类型 | 说明 |
|---|---|---|
| supported | boolean | 当前平台是否支持本次策略的真实标识能力 |
| platform | string | 当前平台,如 app-android、app-ios、app-harmony |
| id | string | 设备标识字符串 |
| source | string | 标识来源,如 androidId、idfv、appInstallId、oaid |
| scope | string | 标识作用域,如 app、vendor、advertising |
| strategy | string | 本次使用策略 |
| isResettable | boolean | 是否属于可重置标识 |
| requiresPermission | boolean | 当前策略是否需要额外权限或授权 |
| permissionStatus | string | 权限或 SDK 状态 |
| rawAvailable | boolean | 原始平台标识是否可用 |
| rawId | string | 原始平台标识,仅 includeRawId=true 时返回 |
| resetHint | string | 标识可能重置的边界说明 |
| reason | string | 中文诊断说明 |
getDeviceIdSync(options)
说明 同步获取设备标识。
参数
| 参数 | 类型 | 必填 | 说明 | 默认值 | 可选参数 |
|---|---|---|---|---|---|
| options | DeviceIdOptions | 否 | 获取设备标识的参数对象 | { strategy: 'privacy' } |
strategy / includeRawId |
返回值
| 字段 | 类型 | 说明 |
|---|---|---|
| result | DeviceIdResult | 结构化设备标识结果 |
resetAppInstallId()
说明 重置插件本地安装 ID,不影响 AndroidId、IDFV、ODID、AAID、OAID、IDFA 等平台标识。
参数
| 参数 | 类型 | 必填 | 说明 | 默认值 | 可选参数 |
|---|---|---|---|---|---|
| 无 | 无 | 否 | 无参数 | 无 | 无 |
返回值
| 字段 | 类型 | 说明 |
|---|---|---|
| success | boolean | 是否重置成功 |
| appInstallId | string | 新的本地安装 ID |
| reason | string | 中文说明 |
getDeviceIdCapability()
说明 获取当前平台的设备标识能力矩阵。
参数
| 参数 | 类型 | 必填 | 说明 | 默认值 | 可选参数 |
|---|---|---|---|---|---|
| 无 | 无 | 否 | 无参数 | 无 | 无 |
返回值
| 字段 | 类型 | 说明 |
|---|---|---|
| platform | string | 当前平台 |
| privacy | boolean | 是否支持 privacy 策略 |
| stable | boolean | 是否支持 stable 策略 |
| advertising | boolean | 是否支持 advertising 策略 |
| sources | Array |
可能的标识来源列表 |
| defaultRequiresPermission | boolean | 默认策略是否需要权限 |
| customBaseRecommended | boolean | 是否建议使用自定义基座验证 |
| message | string | 能力说明 |
错误码
| 错误码 | 含义 | 说明 |
|---|---|---|
| 9050001 | current platform unsupported | 当前平台不支持该策略 |
| 9050002 | native context unavailable | App 原生上下文不可用 |
| 9050003 | advertising identifier sdk missing | 广告标识 SDK 或授权能力未接入 |
| 9050004 | local install id storage unavailable | 本地安装 ID 存储不可用 |
支持平台
| 平台 | 是否支持 | 说明 |
|---|---|---|
| Android App | 支持 | 默认使用 Settings.Secure.ANDROID_ID,并用本地安装 ID 兜底 |
| iOS App | 支持 | 默认使用 UIDevice.current.identifierForVendor,并用本地安装 ID 兜底 |
| HarmonyOS App | 支持 | 首版使用本地安装 ID 兜底,预留 ODID / AAID / OAID 策略边界 |
| Web | 降级支持 | 使用本地 storage 安装 ID,不代表 App 原生设备标识 |
| 微信小程序 | 降级支持 | 复用本地安装 ID 降级逻辑 |
| 支付宝小程序 | 降级支持 | 复用本地安装 ID 降级逻辑 |
三端策略说明
Android
privacy / stable:优先返回 AndroidSettings.Secure.ANDROID_ID。advertising:返回 OAID 能力诊断,不默认集成 OAID SDK。- 不默认读取 IMEI、MEID、MAC、Serial。
iOS
privacy / stable:优先返回UIDevice.current.identifierForVendor。advertising:返回 IDFA / ATT 能力诊断,不默认请求跟踪授权。- 不使用私有 API,不读取 UDID。
HarmonyOS
privacy / stable:首版返回插件本地安装 ID,并在结果中说明 ODID / AAID 扩展边界。advertising:返回 OAID 能力诊断,需业务按平台权限和 Kit 能力单独接入。- 不伪造系统 ODID、AAID 或 OAID 成功结果。
隐私与合规说明
本插件默认不默认读取 IMEI、MEID、MAC、Serial、UDID 等高风险硬件标识。业务如需广告归因,应使用 advertising 策略作为入口,并按 Android、iOS、HarmonyOS 的隐私政策、权限授权和应用市场审核要求单独接入。
- 不默认读取 IMEI。
- 不默认读取 MEID。
- 不默认读取 MAC。
- 不默认读取 Serial。
- 不默认读取 UDID。
自定义基座说明
新增或修改 utssdk/app-android、utssdk/app-ios、utssdk/app-harmony 里的原生 UTS 逻辑后,需要重新运行对应平台原生联编或重新打对应平台自定义基座。仅同步 wgt 或 appResource 不能替换旧基座里已编译的 UTS 原生部分。
作者系列UTS插件
以下为已在 DCloud 插件市场上架的作者系列 UTS 插件,可按业务场景组合使用。未列出的插件表示当前未确认公开市场页,后续上架后再补充。
| 插件 | 能力方向 | 插件市场 |
|---|---|---|
lizhao-scan-pro |
原生扫码、连续扫码、相册识别 | 查看插件 |
lizhao-choose-file |
原生文件选择、上传、进度与取消 | 查看插件 |
lizhao-bg-audio |
背景音频播放、队列、倍速与事件 | 查看插件 |
lizhao-smart-tts |
系统 TTS、云端合成、听书方案 | 查看插件 |
lizhao-share-plus |
系统分享、远程文件下载后分享 | 查看插件 |
lizhao-sqlite-pro |
原生 SQLite、迁移、备份与诊断 | 查看插件 |
lizhao-icon-pro |
SVG 图标组件、多主题与缓存 | 查看插件 |
lizhao-cast-screen |
DLNA 投屏、AirPlay 路由入口 | 查看插件 |
lizhao-call-kit |
电话、短信、通讯录原生能力 | 查看插件 |
lizhao-app-keepalive |
应用保活、唤醒、自愈与报告 | 查看插件 |
lizhao-doc-corrector |
文档扫描、矫正、增强与识别 | 查看插件 |
lizhao-emu-detect |
模拟器环境检测、风险评分与证据 | 查看插件 |

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 6484
赞赏 5
下载 12277940
赞赏 1922
赞赏
京公网安备:11010802035340号