2021年11月1日,《中华人民共和国个人信息保护法》正式施行。此后,国家有关部委陆续出台《常见类型移动互联网应用程序必要个人信息范围规定》、《关于开展纵深推进APP侵害用户权益专项整治行动的通知》、《工业和信息化部关于进一步提升移动互联网应用服务能力的通知》等监管要求,并持续开展各类个人信息权益保护专项治理行动,取得了显著的成效。为了帮助使用热力引擎 SDK 的开发者和运营者(以下简称“您”)更好地落实移动终端个人信息保护相关事宜,避免因涉及第三方相关业务实践而违反相关法律法规、政策及标准的规定,特编写本合规指南供您参考。
*请您知悉,本合规指南中的“合规要求”、“注意事项”、“方法”等内容均基于对国家相关法律法规、政策及标准的理解而起草,仅作为参考内容向您提供,不构成也不应被视为对任何法律法规、政策及标准的有权解释、法律意见或法律建议,亦不构成热力引擎对外的任何承诺与保证。
SDK收集的个人信息
a.采集字段
| 产品功能类型 | 产品功能名称 | 参数名称 | 是否可选参数 | 个人信息类型 | 用途和目的 | 可选参数禁用示例 |
| 基础功能 | 归因分析 | UA | 可选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行归因匹配。 | config.enableUA=true; |
| 设备语言 | 可选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行归因匹配。 | config.enableLanguage=true; | ||
| 设备所在时区 | 可选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行归因匹配。 | config.enableTimeZone=true; | ||
| 设备所在地区 | 可选 | 位置相关信息 | 用于判定模糊位置信息,提供模糊归因的归因匹配服务。 | config.enableLocale=true; | ||
| 设备制造商 | 必选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行归因匹配。 | |||
| 操作系统版本 | 必选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行归因匹配。 | |||
| 屏幕高度 | 可选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行归因匹配。 | config.enableScreenWH=true; | ||
| 屏幕宽度 | 可选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行归因匹配。 | config.enableScreenWH=true; | ||
| 设备型号 | 必选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行归因匹配。 | |||
| 网络状态 | 可选 | 网络信息 | 用于判断SDK与服务器的网络连接状态,保证服务的稳定性和连续性。 | config.enableNetworkType=true; | ||
| 应用版本 | 必选 | 应用信息 | 于保证服务在不同应用的归因数据统计分析需求 | |||
| 应用版本号 | 必选 | 应用信息 | 于保证服务在不同应用的归因数据统计分析需求 | |||
| 包名 | 必选 | 应用信息 | 于保证服务在不同应用的归因数据统计分析需求 | |||
| 应用名称 | 必选 | 应用信息 | 于保证服务在不同应用的归因数据统计分析需求 | |||
| 设备时间 | 必选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行归因匹配。 | |||
| 设备开机时间 | 必选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行归因匹配。 | |||
| IPV6 | 可选 | 网络信息 | 用于判断SDK与服务器的网络连接状态,保证服务的稳定性和连续性。 | config.enableIPV6=true; | ||
| UUID | 必选 | 设备标识符信息 | 用于生成脱敏的终端用户设备唯一性标识,以确保能准确进行归因匹配。 | |||
| AAID | 可选 | 设备标识符信息 | 用于生成脱敏的终端用户设备唯一性标识,以确保能准确进行归因匹配。 | config.enableAAID=true; | ||
| ODID | 可选 | 设备标识符信息 | 用于生成脱敏的终端用户设备唯一性标识,以确保能准确进行归因匹配。 | config.enableODID=true; | ||
| OAID | 可选 | 设备标识符信息 | 用于生成脱敏的终端用户设备唯一性标识,以确保能准确进行归因匹配。 | config.enableOAID=true; | ||
| 设备屏幕密度 | 可选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行归因匹配。 | config.enableDensity=true; | ||
| 系统更新时间 | 必选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行归因匹配。 | |||
| 拓展功能 | 统计分析(含ABtest) | UA | 可选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行数据统计分析。 | config.enableUA=true; |
| 设备语言 | 可选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行数据统计分析。 | config.enableLanguage=true; | ||
| 设备所在时区 | 可选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行数据统计分析。 | config.enableTimeZone=true; | ||
| 设备所在地区 | 可选 | 位置相关信息 | 用于判定模糊位置信息,提供区域数据统计分析功能。 | config.enableLocale=true; | ||
| 设备制造商 | 必选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行数据统计分析。 | |||
| 操作系统版本 | 必选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行数据统计分析。 | |||
| 屏幕高度 | 可选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行数据统计分析。 | config.enableScreenWH=true; | ||
| 屏幕宽度 | 可选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行数据统计分析。 | config.enableScreenWH=true; | ||
| 设备型号 | 必选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行数据统计分析。 | |||
| 网络状态 | 可选 | 网络信息 | 用于判断SDK与服务器的网络连接状态,保证服务的稳定性和连续性。 | config.enableNetworkType=true; | ||
| 应用版本 | 必选 | 应用信息 | 于保证服务在不同应用的数据分析统计需求 | |||
| 应用版本号 | 必选 | 应用信息 | 于保证服务在不同应用的数据分析统计需求 | |||
| 包名 | 必选 | 应用信息 | 于保证服务在不同应用的数据分析统计需求 | |||
| 应用名称 | 必选 | 应用信息 | 于保证服务在不同应用的数据分析统计需求 | |||
| 设备时间 | 必选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行数据统计分析。 | |||
| 设备开机时间 | 必选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行数据统计分析。 | |||
| IPV6 | 可选 | 网络信息 | 用于判断SDK与服务器的网络连接状态,保证服务的稳定性和连续性。 | config.enableIPV6=true; | ||
| UUID | 必选 | 设备标识符信息 | 用于生成脱敏的终端用户设备唯一性标识,以确保能准确进行数据统计分析。 | |||
| AAID | 可选 | 设备标识符信息 | 用于生成脱敏的终端用户设备唯一性标识,以确保能准确进行数据统计分析。 | config.enableAAID=true; | ||
| ODID | 可选 | 设备标识符信息 | 用于生成脱敏的终端用户设备唯一性标识,以确保能准确进行数据统计分析。 | config.enableODID=true; | ||
| OAID | 可选 | 设备标识符信息 | 用于生成脱敏的终端用户设备唯一性标识,以确保能准确进行数据统计分析。 | config.enableOAID=true; | ||
| 设备屏幕密度 | 可选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行数据统计分析。 | config.enableDensity=true; | ||
| 系统更新时间 | 必选 | 操作系统信息 | 于保证服务在不同设备上的兼容性,确保设备可以正确的进行数据统计分析。 |
SolarEngineConfig方法返回的 config 配置作为可选参数,如未设置则为默认值
let config = new SolarEngineConfig();
config.enable2GReporting = true;
config.isDebugMode = true;
注:关闭对应数据采集参数后,将会影响归因、分析模块的数据能力,您无法在热力引擎后台正常使用相关功能。
b.采集目的
- 基于设备信息用于生成脱敏的终端用户设备唯一性标识,以确保提供SDK服务;
c.采集时机
- 基于您调用热力引擎 SDK 初始化方法 initialize 时采集;参考初始化示例如下:
SolarEngineManager.initialize(getContext(), "your_appkey");
d.核心功能禁用开关
| 方法名 | 参数类型 | 是否必填 | 说明 | 示例 |
| enableAttribution | boolean | 否 | 是否开启归因服务,默认开启。关闭后将停用全部归因相关能力,无法获取归因结果、延迟deeplink、deeplink等相关服务;若同时关闭分析服务,SDK 将停止上报所有数据。 | config.enableAttribution=true; |
| enableAnalytics | boolean | 否 | 是否开启分析服务,默认开启。关闭后 A/B 测试、在线参数等所有分析类功能均无法使用;若同时关闭归因服务,SDK 将不再上报任何数据。 | config.enableAnalytics=true; |
SDK所需的系统权限
| 权限 | 目的 |
|---|---|
| INTERNET | 允许应用程序联网和发送统计数据的权限,以便提供统计分析服务。 |
| GET_NETWORK_INFO | 允许应用检测网络状态 |
| APP_TRACKING_CONSENT | 允许应用获取oaid |
| STORE_PERSISTENT_DATA | 允许应用卸载重装后保留distinctid |
获取权限时机:基于您调用热力引擎初始化方法 initialize 时获取;
获取用户有效同意的常见方法
以下方法仅供参考,具体合规方案请自行咨询您的法律顾问或监管机构:
(1)隐私弹窗
a.APP首次运行时应通过弹窗等明显方式提示终端用户阅读隐私政策;
b.隐私弹窗中应当有用户协议、隐私政策链接;
c.隐私弹窗应有拒绝同意的按钮,应由终端用户自主选择是否同意隐私政策,不应以默认勾选同意的方式或是欺骗诱导的方式取得终端用户授权。
(2)隐私政策
a.APP应有独立的隐私政策,隐私政策应单独成文,而不是用户协议或其他文件的一部分;
b.应保证隐私政策的易访问性,终端用户进入APP主功能界面后,通过4次以内的点击或滑动,就能够访问到隐私政策。
c.隐私政策中应包含SDK清单,介绍各SDK(包括热力引擎SDK)提供者的名称、联系方式、个人信息的处理目的、处理方式,处理的个人信息种类、保存期限等信息,并展示SDK提供者隐私政策链接。
d.向用户提供撤回同意的方式,并在用户撤回同意时及时通知热力引擎。
向用户披露热力引擎 SDK 信息的参考示例
| 名称 | 说明 |
|---|---|
| SDK名称 | 热力引擎Harmony SDK |
| 开发者名称 | 汇量云(北京)科技有限公司 |
| 个人信息种类(右侧内容请根据您的实际情况调整,具体以您实际传输的字段为准) |
UA、设备语言、设备所在时区、设备所在地区、设备制造商、操作系统版本、屏幕高度、屏幕宽度、设备型号、网络状态、应用版本、应用版本号、包名、应用名称、设备时间、设备开机时间、IPV6、UUID、AAID、ODID、OAID、设备屏幕密度、系统更新时间等,具体以您实际传输的字段为准。热力引擎在归因分析服务中作为受托处理者,不决定收集的具体字段类型。 |
| 使用目的 | 基础功能:以归因能力为核心,依托设备、系统、网络、应用及脱敏设备标识信息,实现多终端、多平台、多渠道精准归因匹配,同时支撑广告反作弊识别、投放效果校验与用户 ROI 价值分析;
拓展功能:以统计分析能力为核心,基于终端及应用相关数据,开展应用渠道表现、终端用户使用情况的多维度分析,支撑互联网广告定向投放、群体行为研判及 A/B 测试服务
|
| 隐私政策链接 | https://www.solar-engine.com/privacyPolicy.html |
SDK初始化时机
您应确保在用户同意《隐私政策》后才能调用热力引擎 SDK初始化,APP安装后首次冷启动时的初始化步骤参考如下:
(1)预初始化方法不会采集设备信息,也不会向热力引擎后台上报数据;
(2)确保APP首次冷启动时,在用户同意《隐私政策》之后,才调用正式初始化方法,此时SDK才会真正采集设备信息并上报数据;反之,如果用户不同意《隐私政策》,则不能调用正式初始化方法。