更新记录

1.0.0(2026-06-17)

  • 新增 lizhao-device-id 设备唯一标识 UTS插件。
  • 支持 Android / iOS / HarmonyOS 三端 App 接入,并提供 Web、微信小程序、支付宝小程序降级入口。
  • 新增 getDeviceIdgetDeviceIdSyncresetAppInstallIdgetDeviceIdCapability
  • 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,还返回 sourcescopepermissionStatusresetHintrawAvailable 等字段。
  • 合规优先:默认不默认读取 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-androidapp-iosapp-harmony
id string 设备标识字符串
source string 标识来源,如 androidIdidfvappInstallIdoaid
scope string 标识作用域,如 appvendoradvertising
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:优先返回 Android Settings.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-androidutssdk/app-iosutssdk/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 模拟器环境检测、风险评分与证据 查看插件

隐私、权限声明

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

默认无新增权限;广告标识能力需业务按平台单独申请授权和隐私声明

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

默认仅读取 Android ANDROID_ID、iOS IDFV、HarmonyOS 可用系统作用域标识诊断和插件本地安装 UUID;不读取 IMEI、MEID、MAC、Serial、UDID 等高风险硬件标识

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

默认不采集广告标识;advertising 策略仅返回广告标识能力诊断,不默认集成 OAID/IDFA SDK

暂无用户评论。