更新记录
1.0.1(2026-05-11)
支持获取 OAID
1.0.0(2026-05-11)
- 初始版本
- 插件名调整为
hl-deviceid-uts - 支持获取设备聚合标识信息
- 支持获取
deviceUniqueId、OAID、AndroidID - 支持 Android / iOS / Harmony 三端
- 新增
getDeviceIdentifierInfoAsync(),用于 Harmony 异步获取 OAID
平台兼容性
uni-app(5.0)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-vue插件版本 | app-nvue | app-nvue插件版本 | Android | Android插件版本 | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | √ | 1.0.1 | √ | 1.0.1 | 5.1 | 1.0.1 | - | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
hl-deviceid-uts
读取设备唯一标识、OAID、AndroidID 的 UTS 插件,当前支持 Android、iOS。
功能
- 获取聚合后的设备标识信息
getDeviceIdentifierInfo() - 获取聚合后的设备标识信息
getDeviceIdentifierInfoAsync() - 获取设备唯一标识
getDeviceUniqueId() - 获取
OAID - 获取
AndroidID - 获取
IDFV(通过getDeviceIdentifierInfo().idfv读取)
安装与引用
import * as DeviceId from '@/uni_modules/hl-deviceid-uts'
使用示例
const info = DeviceId.getDeviceIdentifierInfo()
console.log('deviceUniqueId', info.deviceUniqueId)
console.log('deviceUniqueIdSource', info.deviceUniqueIdSource)
console.log('oaid', info.oaid)
console.log('androidId', info.androidId)
console.log('idfv', info.idfv)
console.log('oaidSupported', info.oaidSupported)
const deviceUniqueId = DeviceId.getDeviceUniqueId()
const oaid = DeviceId.getOAID()
const androidId = DeviceId.getAndroidID()
DeviceId.getDeviceIdentifierInfoAsync((asyncInfo) => {
console.log('async oaid', asyncInfo.oaid)
})
返回结构
type DeviceIdentifierInfo = {
platform: string
deviceUniqueId: string
deviceUniqueIdSource: string
oaid: string | null
androidId: string | null
idfv: string | null
oaidSupported: boolean
}
字段说明
deviceUniqueIdAndroid 优先取OAID,其次取AndroidID,最后回退到插件持久化生成的 UUID。 iOS 优先取IDFV,取不到时回退到插件持久化生成的 UUID。deviceUniqueIdSource标识deviceUniqueId的来源。 Android 可取oaid、androidId、generated。 iOS 可取idfv、generated。oaidAndroid 设备上尝试读取 OAID;读取失败或当前环境不可用时返回null。 iOS 固定返回null。androidIdAndroid 设备上返回AndroidID;读取失败时返回null。 iOS 固定返回null。idfviOS 端返回UIDevice.current.identifierForVendor?.uuidString。 Android 端固定返回null。
平台支持
- 当前支持 Android、iOS。
getDeviceIdentifierInfoAsync()当前是对同步结果的回调封装,方便前端统一调用方式。
Android 说明
- Android 端优先读取
OAID,读取不到时回退到AndroidID,再取不到时回退到插件本地生成并持久化保存的 UUID。 - Android 端集成本地
Android_CN_OAID-4.2.16.aar,文件位于utssdk/app-android/libs/。 - OAID 厂商适配由
Android_CN_OAID提供,插件会尽量覆盖其已支持的厂商通道,包括华为、荣耀、小米、OPPO、一加、vivo、三星、魅族、联想、摩托罗拉、努比亚、华硕、酷派、360OS,以及 MSA / GMS 等通用通道。 - 当前 Android 工程内置的
oaid_sdk_1.0.25.aar已包含华为com.huawei.hms.ads.identifier.AdvertisingIdClient,插件不再额外声明com.huawei.hms:ads-identifier,避免重复类冲突。 - 荣耀设备读取 OAID 需要
com.hihonor.mcs:ads-identifier,插件已在utssdk/app-android/config.json中声明对应依赖和荣耀 Maven 仓库。 mavenRepos使用纯 URL 字符串,例如https://developer.hihonor.com/repo/,避免打包脚本把maven { url '...' }片段误识别成本地目录。- 如果运行包缺少
com.huawei.hms.ads.identifier.AdvertisingIdClient或com.hihonor.ads.identifier.AdvertisingIdClient,对应设备会跳过 OAID 读取并回退到AndroidID/generated,避免因为类缺失导致应用崩溃。
iOS 说明
- iOS 端
deviceUniqueId默认取IDFV,即UIDevice.current.identifierForVendor?.uuidString。 - 当
IDFV不可用时,会回退到插件本地生成并持久化保存的 UUID。 - iOS 端
getOAID()、getAndroidID()固定返回null。 IDFV属于 Vendor 维度标识;同一设备上同一开发者账号下的 App 通常一致。- 如果当前 Vendor 下的所有 App 都被卸载后重新安装,
IDFV可能变化。

收藏人数:
购买普通授权版(
试用
赞赏(0)
下载 276
赞赏 2
下载 11858947
赞赏 1912
赞赏
京公网安备:11010802035340号