Google Play 数据安全申报参考
本页提供 Track Business Android SDK 的数据处理信息,供填写 Google Play 数据安全(Data Safety) 表单参考。请结合应用及 SDK 的实际配置,确认数据类型、用途、分享、保留和删除方式。SDK 使用责任 · Data safety 填报说明
上架前检查
- 目标 API:截至 2026-11-06,普通手机新应用和更新须以 Android 16(API 36)或更高为目标。其他设备类型和旧应用可见性要求请查 Play 目标 API 政策。请检查实际提交的应用 Release 包。
- 隐私政策与数据安全:在 Play Console 和应用内提供隐私政策链接,披露实际数据收集、用途、共享、保护、保留及删除方式;Data Safety 应涵盖宿主和第三方 SDK 的实际数据流。用户无法合理预期的敏感数据处理可能需要事先显著披露和同意,具体核对 用户数据政策 和 披露说明。
- 账号删除:如应用内允许创建账号,须提供应用内和应用外发起账号及关联数据删除请求的方式,并在 Play Console 填写网页链接;适用例外及数据保留须按 官方政策 核对。本 SDK 的本地清理不替代服务端删除。
- 16 KB 页大小:核查最终 APK/AAB 及所有 native 依赖,并在 16 KB 环境测试;适用范围和最新期限见 Android 官方指南。SDK Core 无自有
.so不代表最终应用已兼容。
一、 数据收集概览与架构原则
以下描述 SDK 的默认行为和可选能力,填报时需核对最终应用的数据流:
- 不主动读取硬件标识符:SDK 不主动读取 IMEI、MAC 地址、硬件序列号、SIM 卡卡号或系统 ANDROID_ID;宿主通过自定义事件提供的值仍须按实际数据流审查。
- 默认无广告 ID 依赖:SDK 核心库不包含
com.google.android.gms.permission.AD_ID权限,不自动采集 Google Advertising ID。只有宿主明确注入 GAID 读取器并调用显式读取 API 时,才按宿主实际依赖、用途和同意流程填报。 - 原生页大小检查:当前 SDK 主模块为 Kotlin/JVM 代码,不随包交付自有 native
.so;宿主仍须对最终 APK/AAB 中其他依赖的 native 库执行 Android 16 KB page size 检查。 - 传输与本地加密:使用 HTTPS Endpoint 时通过 TLS 保护网络通信;Android 本地离线事件持久化可由宿主显式启用 Android Keystore AES-256-GCM 保护。该能力不是默认配置,也不会改变 SDK 的传输协议。
- 本地数据清理:提供本地队列清理 (
sdk.deleteQueuedEvents()) 和清理 SDK 本地状态 (sdk.clearLocalData())。已上传数据的删除及用户删除请求流程由宿主/服务端另行实现和验证;SDK 不提供该服务端能力。
二、 Google Play 数据类型对照表
当您在 Google Play Console 填写「应用内容 -> 数据安全」问卷时,可用下表核对 SDK 可能产生或传输的数据。表格中的“是/否/可选”描述 SDK 行为条件,不是 Play 表单的固定答案;还要合并宿主代码、事件属性、可选模块和服务端处理后再作答:
1. 位置信息 (Location)
| 数据子类型 | 是否由 SDK 收集 | 收集方式 / 填报说明 |
|---|---|---|
| 大致位置 (Approximate Location) | 按服务端处理判断 | 客户端 SDK 不请求 定位权限。若您的服务端在接收事件时根据客户端出口 IP 解析国家/城市粗略位置,应按实际用途核对该类别的收集声明。 |
| 精确位置 (Precise Location) | 可选,宿主显式注入 | Android 核心库不读取系统位置、不声明定位权限;trackWithLocation 留在核心库。iOS 的同一公开 API 在可选模块 TrackBusinessLocation,并由该模块声明精确位置。实际使用该能力的 App 应按自身用途、精度和数据流填报 Precise Location。详情见位置快照集成。 |
2. 个人信息 (Personal Info)
| 数据子类型 | 是否由 SDK 收集 | 收集方式 / 填报说明 |
|---|---|---|
| 用户标识符 (User IDs) | 宿主提供时 | 宿主通过 sdk.identify(userId) 提供的业务用户 ID;匿名/安装标识需结合下方标识符类别核对。用途按项目实际使用填写。 |
| 姓名 / 邮箱 / 电话号码 / 地址 | 默认否 | SDK 无内置采集;宿主传入的自定义属性及其他数据流仍需按实际情况核对。 |
3. 财务信息 (Financial Info)
| 数据子类型 | 是否由 SDK 收集 | 填报说明 |
|---|---|---|
| 信用卡、借记卡或银行账号 | 否 | SDK 无内置支付凭证采集;默认字段规则会过滤已知凭据名称,不能保证识别任意业务字段中的敏感值。 |
| 购买历史记录 (Purchase History) | 默认否 | 仅当宿主通过自定义事件属性(如 track("order_completed", mapOf("amount" to 99)))记录消费事实时按业务需要填报。 |
4. 敏感信息与设备媒体 (Media & Sensitive Data)
| 数据类型 | 是否由 SDK 收集 | 说明 |
|---|---|---|
| 健康与健身 (Health & Fitness) | 无内置采集 | 宿主自定义事件仍需审查。 |
| 短信 / 邮件 / 即时通讯消息 | 无内置采集 | 宿主自定义事件仍需审查。 |
| 照片 / 视频 / 录音文件 | 否 | 不读取相册或多媒体文件。 |
| 通讯录 (Contacts) | 否 | 不读取手机通讯录。 |
| 日历 (Calendar) | 否 | 不读取系统日历。 |
5. 应用活动与互动 (App Activity)
| 数据子类型 | 是否由 SDK 收集 | 收集方式 / 填报说明 |
|---|---|---|
| 应用互动 (App Interactions) | 按配置 | 宿主通过 sdk.track(...) 或 Compose/View 组件记录的用户行为;用途按实际使用情况填写。 |
| 应用内浏览历史 (In-app Screen Views) | 按配置 | 宿主通过 sdk.recordScreenView(...) 或 ActivityLifecycleIntegration 记录的页面访问;用途按实际使用情况填写。 |
| 其他操作 (Other Actions) | 按配置 | 如应用安装事件 ($application_install) 和 Deep Link 打开事件 ($deep_link_open);链接事实由宿主 API 提供,或由已配置的 Android 冷启动适配器采集。 |
6. 应用信息与性能 (App Info & Performance)
| 数据子类型 | 是否由 SDK 收集 | 收集方式 / 填报说明 |
|---|---|---|
| 崩溃日志 (Crash Logs) | 否 | SDK 不拦截全局未捕获异常(UncaughtExceptionHandler),不收集系统崩溃堆栈。 |
| 诊断信息 (Diagnostics) | 可选 | 宿主启用 android-exception 并调用 sdk.recordNonFatalError(...) 时,可记录业务错误摘要与受控堆栈;用途按实际使用情况填写。 |
| 其他应用性能数据 (Performance) | 可选 | 宿主启用 android-performance 并调用 sdk.recordStartupPerformance(...) 时,可记录启动耗时;用途按实际使用情况填写。 |
7. 设备或其他标识符 (Device or Other IDs)
| 数据子类型 | 是否由 SDK 收集 | 收集方式 / 填报说明 |
|---|---|---|
| 设备或其他标识符 (Device IDs) | 按授权和配置 | SDK 可在允许采集时本地生成 installationId 和 anonymousId;PENDING 期间不创建身份。SDK 不自动读取 IMEI、MAC 地址、硬件序列号、ANDROID_ID 或 Google 广告 ID。宿主注入外部标识读取器时,应按实际用途和数据流核对申报。 |
三、 数据安全与处理方式核对
以下各项是判断时应核对的技术事实,不应不经确认直接选定答案。请依据实际传输路径、服务端留存和应用提供的用户权利机制逐项填报。
- 传输加密:SDK 接受 HTTP 或 HTTPS Endpoint。只有应用的所有实际生产传输都使用 HTTPS/TLS 时,才可据此回答传输加密为“是”;本地 HTTP 联调不应外推为生产传输保护。
- 是否为暂时处理(Ephemeral Processing):SDK 可将事件写入本地持久化队列;是否构成暂时处理还取决于服务端是否持久化、后续用途及删除流程,不能仅凭端上队列作答。
- 用户数据删除请求:
sdk.deleteQueuedEvents()只删除本地待上传队列,sdk.clearLocalData()清除本地 SDK 数据;二者都不删除已上传到服务端的历史事件、备份或其他系统数据,也不是面向用户的删除请求渠道。只有宿主实际提供了可用的删除请求流程并验证其覆盖范围后,才据此选择对应答案;SDK 不提供服务端 GDPR/CCPA 遗忘 API。 - 处理目的:依据应用实际用途选择分析、应用功能或其他适用目的,不要因为集成了埋点 SDK 就无条件勾选某个目的。
四、 构建与权限核对
SDK AAR 提供消费端 R8 规则,正常依赖时由 Gradle 合并。发布前仍需在宿主 Release 构建中检查依赖、合并 Manifest、隐私配置及实际网络数据;SDK 构建检查不能代替应用验证。
Android Core 不交付自有 native .so。其他依赖的原生库和 16 KB 页面对齐需在最终 APK/AAB 中检查。安装与 R8 问题见Android 快速接入。