简介(下载地址

Ba-IdCode 是一款可以获取国内各大手机厂商 OAID(开放匿名设备标识)及海外手机平台 AAID(安卓广告标识)的uniapp插件。另外也支持获取 IMEI/MEID、AndroidID、WidevineID、PseudoID、GUID 等常见的设备标识。

截图展示

iOS获取当前控制器 获取app控件id_唯一标识

不同种类的标识符

标识符

说明

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-MediaPicker 

图片编辑插件 Ba-ImageEditor 

文件选择插件 Ba-FilePicker 

应用消息通知插件(多种样式,新增支持常驻通知模式) Ba-Notify

应用未读角标插件 Ba-Shortcut-Badge

应用开机自启插件 Ba-Autoboot

扫码原生插件(毫秒级、支持多码)Ba-Scanner-G

扫码原生插件 - 新(可任意自定义界面版本;支持连续扫码;支持设置扫码格式)Ba-Scanner

动态修改状态栏、导航栏背景色、字体颜色插件 Ba-AppBar

原生sqlite本地数据库管理 Ba-Sqlite

安卓保活插件(采用多种主流技术) Ba-KeepAlive

安卓快捷方式(桌面长按app图标) Ba-Shortcut

自定义图片水印(任意位置) Ba-Watermark

最接近微信的图片压缩插件 Ba-ImageCompressor

视频压缩、视频剪辑插件 Ba-VideoCompressor

动态切换应用图标、名称(如新年、国庆等) Ba-ChangeIcon

原生Toast弹窗提示(穿透所有界面、穿透原生;自定义颜色、图标 ) Ba-Toast

图片涂鸦、画笔 Ba-ImagePaint

pdf阅读(手势缩放、显示页数) Ba-Pdf

声音提示、震动提示、语音播报 Ba-Beep

websocket原生服务(自动重连、心跳检测) Ba-Websocket

短信监听(验证码) Ba-Sms

智能安装(自动升级) Ba-SmartUpgrade

监听系统广播、自定义广播 Ba-Broadcast

监听通知栏消息(支持白名单、黑名单、过滤) Ba-NotifyListener

全局置灰、哀悼置灰(可动态、同时支持nvue、vue) Ba-Gray

实时定位(系统、后台运行、支持息屏)插件 Ba-Location