简介(下载地址)
Ba-IdCode 是一款可以获取国内各大手机厂商 OAID(开放匿名设备标识)及海外手机平台 AAID(安卓广告标识)的uniapp插件。另外也支持获取 IMEI/MEID、AndroidID、WidevineID、PseudoID、GUID 等常见的设备标识。
截图展示
不同种类的标识符
标识符 | 说明 |
IMEI | 应该是大家最熟悉的一种 ID了, 它是手机的身份证, 也是运营商识别入网设备信息的代码, 是一种不可重置的永久标识符,作用域为设备。 |
Android ID(SSAID) | 顾名思义,Android ID 是 Android 设备里 不依赖于硬件的一种「半永久标识符」, 在系统生命周期内不会改变, 但系统重置或刷机后会发生变化, 其作用域为一组有关联的应用。 |
Device ID | 在 Android 平台,Device ID 是一种统称, 与硬件相关的 ID 都可以称之为 Device ID, 一般是一种不可重置的永久标识符, 作用域为设备。 |
UUID、GUID | UUID 也叫做实例 ID, 这两个 ID 可以说是在计算机体系内的通用标识符 (详细了解 UUID 和 GUID 可以阅读 维基百科 相关内容) |
AAID | AAID 与 IDFA 作用相同——IDFA 是 iOS 平台内的广告跟踪 ID, AAID 则用于 Android 平台。 |
OAID | 广告标识符(OAID)是一种非永久性设备标识符。 使用OAID可在保护用户个人数据隐私安全的前提下, 向用户提供个性化广告。 国内 App 和广告跟踪服务的一种替代方 |
支持情况
厂商或品牌 | 系统或框架 |
华为(Huawei、Honor) | HMS Core 2.6.2+ 、Google Play Service 4.0+ |
小米(XiaoMi、Redmi、BlackShark) | MIUI 10.2+、Google Play Service 4.0+ |
维沃(VIVO、IQOO) | Funtouch OS 9+、OriginOS 1.0+、Google Play Service 4.0+ |
欧珀(OPPO、Realme) | ColorOS 7.0+、Google Play Service 4.0+ |
三星(Samsung) | Android 10+、Google Play Service 4.0+ |
联想(Lenovo) | ZUI 11.4+、Google Play Service 4.0+ |
华硕(ASUS) | Android 10+、Google Play Service 4.0+ |
魅族(Meizu) | Android 10+、Google Play Service 4.0+ |
一加(OnePlus) | Android 10+、Google Play Service 4.0+ |
努比亚(Nubia) | Android 10+、Google Play Service 4.0+ |
酷派(Coolpad) | CoolOS、Google Play Service 4.0+ |
酷赛(Coosea ) | Android 10+、Google Play Service 4.0+ |
卓易(Droi ) | Freeme OS、Google Play Service 4.0+ |
其他(ZTE、HTC、Motorola、……) | SSUI、Google Play Service 4.0+ |
使用方法
在 script
中引入组件
const idCode = uni.requireNativePlugin('Ba-IdCode')
在 script
中调用(示例参考,可根据自己业务和调用方法自行修改)
const idCode = uni.requireNativePlugin('Ba-IdCode')
export default {
data() {
return {
msgList: []
}
},
methods: {
register() { //注册,先注册再获取,注意APP合规性,若最终用户未同意隐私政策则不要调用
idCode.register(
res => {
console.log(res);
uni.showToast({
title: res.msg,
icon: "none",
duration: 3000
})
});
},
getIdCodes() { //获取设备的各种标识码
idCode.getIdCodes(res => {
console.log(res);
if (res.data) {
this.msgList.unshift(JSON.stringify(res.data))
}
uni.showToast({
title: res.msg,
icon: "none",
duration: 3000
})
});
},
getOAID() { //异步获取 OAID
idCode.getOAID(res => {
console.log(res);
if (res.data) {
this.msgList.unshift(JSON.stringify(res.data))
}
uni.showToast({
title: res.msg,
icon: "none",
duration: 3000
})
});
},
}
}
api 列表
方法名 | 说明 |
register | 注册,先注册再获取,注意APP合规性,若最终用户未同意隐私政策则不要调用 |
getIdCodes | 获取设备的各种标识码(OAID、AAID、AndroidID、IMEI、WidevineID、PseudoID、GUID) |
getOAID | 异步获取设备的OAID(AAID)。同步调用getIdCodes获取OAID,第一次可能为空,可采用getOAID方法 |
系列插件
应用消息通知插件(多种样式,新增支持常驻通知模式) Ba-Notify
扫码原生插件 - 新(可任意自定义界面版本;支持连续扫码;支持设置扫码格式)Ba-Scanner
动态修改状态栏、导航栏背景色、字体颜色插件 Ba-AppBar
最接近微信的图片压缩插件 Ba-ImageCompressor
视频压缩、视频剪辑插件 Ba-VideoCompressor
动态切换应用图标、名称(如新年、国庆等) Ba-ChangeIcon
原生Toast弹窗提示(穿透所有界面、穿透原生;自定义颜色、图标 ) Ba-Toast
websocket原生服务(自动重连、心跳检测) Ba-Websocket
监听通知栏消息(支持白名单、黑名单、过滤) Ba-NotifyListener
全局置灰、哀悼置灰(可动态、同时支持nvue、vue) Ba-Gray
实时定位(系统、后台运行、支持息屏)插件 Ba-Location