跳到主要内容

合规指南

最近更新 2026/10/03

一、最新SDK版本说明​

满足监管新规的最新SDK版本:1.7.6

二、权限调用合规要求​

权限名称权限说明使用目的权限申请时机
ohos.permission.INTERNET允许使用Internet网络在使用上报数据功能时,用于访问网络数据SDK初始化或者调用上报数据接口时
ohos.permission.GET_NETWORK_INFO允许应用获取网络信息在使用上报数据功能时,SDK 会根据网络状态选择是否发送数据SDK初始化时
ohos.permission.STORE_PERSISTENT_DATA允许应用存储持久化的数据存储应用卸载之后需要保持不变的数据SDK初始化时

三、延迟初始化要求​

为了避免您的应用在未获取用户的同意前SDK提前处理用户的个人信息,SDK需要在用户同意 《隐私政策》后初始化。

示例代码如下:

// 根据隐私协议判断是否开启数据采集
if (isPrivacyPolicyAccepted) { // 用户已同意《隐私政策》
TDAnalytics.init(context, "appId", "serverUrl")
}

SDK初始化的时候会收集操作系统版本、设备制造商、操作系统、屏幕分辨率、设备型号、APP 版本、网络状态、网络运营商、应用安装时间、系统语言等信息,用于统计分析功能。

四、SDK 可选个人信息的配置说明​

开发者可以通过 SDK 可选个人信息的配置示例说明进行配置。您可以在SDK初始化的时候配置disablePresetProperties 参数,配置需要禁用的设备信息数组。disablePresetProperties默认是空数组,就是默认会采集所有的预置属性,如果你需要禁用某一个预置属性,可以将需要禁用的预置属性添加到disablePresetProperties数组中。

以下是SDK 中所有事件默认采集的预置属性:

属性名中文名属性类型采集时机说明

#ip

IP 地址

文本

服务端采集

用户的 IP 地址,AE 将以此获取用户的地理位置信息
#country国家文本服务端采集用户所在国家,根据 IP 地址生成

#country_code

国家代码文本

服务端采集

用户所在国家的国家代码(ISO 3166-1 alpha-2,即两位大写英文字母),根据 IP 地址生成
#province省份文本服务端采集用户所在省份,根据 IP 地址生成
#city城市文本服务端采集用户所在城市,根据 IP 地址生成
#os_version操作系统版本文本初始化时采集一次iOS 11.2.2、Android 8.0.0 等

#manufacturer

设备制造商

文本

初始化时采集一次

用户设备的制造商,如 Apple,vivo 等

#os操作系统文本初始化时采集一次如 Android、iOS、HarmonyOS 等
#device_id设备 ID文本初始化时采集一次用户的设备 ID,iOS 取用户的 IDFV 或 UUID,Android 取 androidID
#screen_height屏幕高度数值初始化时采集一次用户设备的屏幕高度,如 1920 等
#screen_width屏幕宽度数值初始化时采集一次用户设备的屏幕宽度,如 1080 等
#device_model设备型号文本初始化时采集一次用户设备的型号,如 iPhone 8 等
#device_type设备类型文本初始化时采集一次设备类型,如 "Tablet"、"Phone"
#app_versionAPP 版本文本初始化时采集一次您的 APP 的版本
#bundle_id应用唯一标识文本初始化时采集一次应用包名或进程名

#lib

SDK 类型文本

初始化时采集一次

您接入 SDK 的类型,如 Android,iOS 等
#lib_versionSDK 版本文本初始化时采集一次您接入 SDK 的版本
#network_type网络状态文本初始化时采集一次,网络状态变化时采集上传事件时的网络状态,如 WIFI、3G、4G 等

#carrier

网络运营商文本

初始化时采集一次

用户设备的网络运营商,如中国移动,中国电信等

#zone_offset

时区偏移

数值

事件发生时采集

数据时间相对 UTC 时间的偏移小时数
#install_time程序安装时间时间初始化时采集一次用户安装应用的时间,值来源于系统

#system_language

系统语言文本初始化时采集一次用户设备的系统语言(ISO 639-1,即两位小写英文字母),如 zh, en 等

例如您需要禁用#os(操作系统)、#os_version(操作系统版本),配置示例代码如下:

let config = new TDConfig()
config.appId = 'appId'
config.serverUrl = 'url'
config.disablePresetProperties =["#os", "#os_version"]
TDAnalytics.initWithConfig(context, config)

如果您需要禁用全部的预置属性,可以将所有的属性配置到disablePresetProperties数组中,示例代码如下:

let config = new TDConfig()
config.appId = 'appId'
config.serverUrl = 'url'
config.disablePresetProperties =["#lib", "#lib_version", "#os", "#os_version", "#bundle_id", "#install_time", "#manufacturer", "#device_model",
"#device_type", "#screen_width", "#screen_height","#system_language","#carrier","#app_version","#device_id","#network_type","#ip"]
TDAnalytics.initWithConfig(context, config)

五、隐私政策披露要求与示例说明​

在您接入、使用数数科技SDK服务前,我们要求您在隐私政策中向用户告知我们SDK的名称、SDK提供方名称、收集个人信息类型、使用目的、隐私政策链接,并获取用户的同意或取得其他合法性基础。您可以参考如下方式提供条款内容:

第三方SDK名称:数数科技SDK

第三方公司名称:数数信息科技(上海)有限公司

收集个人信息类型:在《隐私政策》中收集和获得您的个人信息栏目中根据实际情况填写以下内容,当您在激活使用时,我们会通过数数科技SDK收集您的设备信息(IP 地址解析的位置信息、国家、国家代码、省份、城市、操作系统版本、设备制造商、操作系统、屏幕分辨率、设备型号、APP 版本、网络状态、网络运营商、应用安装时间、系统语言)。

个人信息收集时机:SDK初始化时获取。

使用目的:用于统计分析用户在 App 内的使用效果。

隐私政策链接:数数科技SDK隐私声明

App 首次运行时应当有隐私弹窗,隐私弹窗中应公示简版隐私政策内容并附完整版隐私政策链接,并明确提示最终用户阅读并选择是否同意隐私政策;隐私弹窗应提供同意按钮和拒绝同意的按钮,并由最终用户主动选择。

建议通过弹窗的形式征求用户授权同意,弹窗内容中需包含数数科技SDK需要申请的权限和采集的用户相关信息。

隐私政策授权弹窗示例:

敏感个人信息授权弹窗示例:

这篇文档对你有帮助吗?