- DM Hub数据采集概览
- DM Hub身份和事件模型
- DM Hub数据采集SDK
- DM Hub数据采集API
- 隐私保护声明
目录
1 采集权限
权限名 | 权限说明 | 使用说明 |
---|---|---|
INTERNET | 网络权限 | 该权限为必须权限,SDK需要将数据进行数据网络通信,没有该权限将无法正常工作 |
READ_PHONE_STATE | 手机信息状态权限 | 该权限为可选权限,用于获取用户IMEI、DeviceId,为开发者提供身份识别的指标之一 |
BLUETOOTH | 蓝牙权限 | 该权限为可选权限,用于获取用户设备蓝牙特征,为开发者提供身份识别的指标之一 |
ACCESS_NETWORK_STATE | 网络状态权限 | 该权限为可选权限,用于获取监测上报网络环境、移动网络服务商信息,以便于监测上报环境质量 |
ACCESS_WIFI_STATE | Wifi状态权限 | 该权限为可选权限,用于获取用户MAC信息,为开发者提供身份识别的指标之一 |
ACCESS_FINE_LOCATION | 定位权限 | 该权限为可选权限,用于获取用户地理定位信息的所需权限之一,通过定位信息为开发者提供反作弊能力及其地理分布情况 |
ACCESS_COARSE_LOCATION | 定位权限 | 该权限为可选权限,用于获取用户地理定位信息的所需权限之一,通过定位信息为开发者提供反作弊能力及其地理分布情况 |
2 采集信息
信息名 | 信息隐私风险评估 | 用途 | 采集开关枚举值 |
---|---|---|---|
国际移动设备识别码(IMEI) | 个人设备信息-低/中风险(建议开发者结合业务场景评估具体风险) | 标识匿名用户需要用到该字段 | Configuration.IMEI |
设备序列号 | 个人设备信息-低/中风险(建议开发者结合业务场景评估具体风险) | 标识匿名用户需要用到该字段 | Configuration.SERIAL_ID |
Android ID | 个人设备信息-低/中风险(建议开发者结合业务场景评估具体风险) | 标识匿名用户需要用到该字段 | Configuration.ANDROID_ID |
Mac地址 | 个人设备信息-低/中风险(建议开发者结合业务场景评估具体风险) | 标识匿名用户需要用到该字段 | Configuration.MAC |
OAID | 个人设备信息-低/中风险(建议开发者结合业务场景评估具体风险) | 标识匿名用户需要用到该字段 | 无 |
蓝牙支持情况 | 无风险 | 标识匿名用户需要用到该字段 | 无 |
蓝牙版本 | 无风险 | 标识匿名用户需要用到该字段 | Configuration.BLUETOOTH |
NFC支持情况 | 无风险 | 标识匿名用户需要用到该字段 | 无 |
终端制造厂商 | 无风险 | 进行设备统计分析需要用到该字段 | 无 |
设备品牌方 | 无风险 | 进行设备统计分析需要用到该字段 | 无 |
设备型号 | 无风险 | 进行设备统计分析需要用到该字段 | 无 |
应用版本号 | 无风险 | 进行应用版本统计分析需要用到该字段 | 无 |
设备屏幕像素 | 无风险 | 进行应用分辨率分布分析需要用到该字段 | 无 |
地理位置(精确) | 个人信息-低/中风险(建议开发者结合业务场景评估具体风险) | 可选,在用户时间轴展示地理位置信息需要用到该字段 | Configuration.LOCATION |
系统版本信息 | 无风险 | 进行系统版本统计分析需要用到该字段 | 无 |
网络服务商 | 无风险 | 进行应用网络统计分析需要用到该字段 | Configuration.NETWORK_OPERATOR |
当前网络连接情况 | 无风险 | 进行应用网络统计分析需要用到该字段 | Configuration.NETWORK_STATE |
身份类型1 | 个人信息-低/中风险(建议开发者结合业务场景评估具体风险 | 可选, 用户同意后品牌方采集上送 | 无 |
身份值1 | 个人信息-低/中风险(建议开发者结合业务场景评估具体风险 | 可选,用户同意后品牌方采集上送 | 无 |
身份类型2 | 个人信息-低/中风险(建议开发者结合业务场景评估具体风险 | 可选,用户同意后品牌方采集上送 | 无 |
身份值2 | 个人信息-低/中风险(建议开发者结合业务场景评估具体风险 | 可选,用户同意后品牌方采集上送 | 无 |
身份类型3 | 个人信息-低/中风险(建议开发者结合业务场景评估具体风险 | 可选,用户同意后品牌方采集上送 | 无 |
身份值3 | 个人信息-低/中风险(建议开发者结合业务场景评估具体风险 | 可选,用户同意后品牌方采集上送 | 无 |
3 采集开关
DMHub Android SDK提供细粒度的开关,可以在SDK初始化时,或者初始化完成后,运行时,禁用一项,或者多项项设备信息的自动采集。
请注意,该特性 SDK 3.0.9 开始支持
3.1 可以禁止采集的采集项
采集项 | 枚举值 |
---|---|
imei | Configuration.IMEI |
蓝牙信息 | Configuration.BLUETOOTH |
mac地址信息 | Configuration.MAC |
地理位置(精确) | Configuration.LOCATION |
当前网络连接情况 | Configuration.NETWORK_STATE |
androidId 信息 | Configuration.ANDROID_ID |
网络运营商 | Configuration.NETWORK_OPERATOR |
3.1 SDK初始化时,禁止采集项
如果SDK初始化时,明确不希望采集项被访问,则可以通过以下接口进行屏蔽配置
- 接口定义
/**
* 禁止采集目标配置信息
* @param names 采集内容
*/
public static void disableCollect(String... names);
- 代码示例
禁止采集android id 和imei
DMHubSDK.init(this, Configuration.create(
"TrackURL",
"appId",
"appName")
.disableCollect(
Configuration.ANDROID_ID, // 屏蔽 Android ID
Configuration.IMEI) // 屏幕 IMEI
);
如果需要根据用户的选择,运行时动态决定是否禁用,或者启用采集项,可以采用如下接口
- 代码示例
运行时禁用采集
DMHubSDK.disableCollect(
Configuration.ANDROID_ID, // 屏蔽 Android ID
Configuration.IMEI); // 屏幕 IMEI
运行时允许采集
DMHubSDK.enableCollect(
Configuration.ANDROID_ID, // 启用 Android ID
Configuration.IMEI); // 启用 IMEI