最近没事翻看 掘金 的 《隐私协议》 ,这里从可以看到要使用掘金需要使用如下表的信息:
| 介绍 | 截图 |
|---|---|
| 个人信息收集清单 | ![]() |
| 接入合作方清单 | ![]() ![]() |
可以看到收集的信息有:硬件型号、操作系统版本号、国际移动设备识别码、唯一设备标识符、网络设备硬件地址、IP地址、SN、OAID、ICCID、SN、SUPI、SUCI 等。
那么这些信息是做什么的呢?这篇文章就将介绍上述这些 Android 的标识的作用和区别。
字段介绍
可以简单地把上面的标识分为 硬件相关、网络相关、系统相关、隐私相关。
- 其中硬件相关的有:
| 标识 | 介绍 | 作用 |
|---|---|---|
| SN(序列号) | 厂商为每台设备分配的唯一编号(如手机包装盒 / 机身标签) | 用于厂商内部管理设备生产、售后保修(凭 SN 查出厂时间、保修期限) |
| 设备 MAC 地址 | 网络接口(如 WiFi、蓝牙)的硬件地址,由网络设备厂商分配 | 用于识别设备,作为唯一标识来识别设备 |
注意:在 Android 10 以后,获取 mac 地址收到了限制。网上搜了来好几种在高版本获取 mac 的地址的方式都没有效果。
- 网络相关的有:
| 标识 | 介绍 | 作用 |
|---|---|---|
| IMEI | 15位数字,手机等移动终端的唯一硬件标识 | 让运营商识别设备合法性,防止被盗设备入网,也是售后维修的设备身份凭证 |
| IMSI | 存储在SIM卡中,关联用户的运营商账号 | 标识"哪个用户在使用网络",用于运营商区分用户套餐、计费和权限 |
| MEID | 类似IMEI,主要用于CDMA网络(如早期中国电信)的设备标识 | 与IMEI作用一致,是CDMA设备的唯一硬件凭证 |
| ICCID | 印在SIM卡上的20位数字,是SIM卡的唯一标识 | 识别"哪张SIM卡",用于运营商绑定SIM卡与用户账号,补卡时区分旧卡新卡 |
| SUPI | 5G网络中的核心用户标识,替代2/3/4G中的IMSI(本质是IMSI的5G升级形态) | 在5G网络中永久标识用户身份,存储在USIM卡中 |
| SUCI | 5G网络中用于保护SUPI的临时标识 | 用户接入网络时,用SUCI替代SUPI传输,防止SUPI被窃听,保障用户隐私 |
注意:获取 IMEI 在 Android 10 以上需要 READ_PHONE_STATE 权限,一般的应用是无法获取的。
- 系统相关的有:
| 标识 | 介绍 | 作用 |
|---|---|---|
| Android ID | 系统生成的 64 位字符串,存储在设备系统中 | 作用是让应用在不获取敏感通信标识的情况下,区分不同设备(如记录用户登录状态、个性化推荐),恢复出厂设置后会改变 |
- 隐私相关
| 标识 | 介绍 | 作用 |
|---|---|---|
| OAID | 由中国信通院主导的标识,替代传统敏感标识(如 IMEI)。 | 作用是供广告、统计类应用标识设备,用户可在系统设置中重置或关闭 OAID,避免被长期追踪,恢复出厂设置后会改变 |
问题
为什么需要这么多唯一标识符?
在旧版本 Android中 ,只有 IMEI 可以唯一标识移动设备。 mac 地址 是网络模块的地址,比如 wifi模块、蓝牙模块都有 mac 地址;Android ID 则会在恢复出厂设置后会改变,因此不唯一。
在高版本 android中 ,出于隐私的考虑,限制获取 IMEI 和 mac 地址 。要获取设备唯一标识要使用其他方式。在中国,是使用 OAID 来标识的;在国外,是使用 AAID(android 广告标识)。
常用的 deviceId 是什么?
在 Android 平台,Device ID 是一种统称,与硬件相关的 ID 都可以称之为 Device ID,一般是一种不可重置的永久标识符,作用域为设备。根据设备、厂家或者 App 调用需求的不同,读取 Device ID 时可能会返回 IMEI 或其他硬件编码,但也有可能因为设备中没有相关硬件而无法获取 Device ID 或返回无效值


