合规指南

引言

应法律法规要求,所有APP均须向终端用户出示当前APP的《隐私政策》,在用户同意《隐私政策》之前,APP不能收集任何涉及隐私的设备信息(也不能执行Open-App移动统计SDK的初始化),否则将面临APP被下架的风险。因此请开发者务必参照此文档做好安全合规相关事项,以免影响App正常上架。因此,您需要制定一份App《隐私政策》。《隐私政策》是说明App的个人信息收集和使用情况,获得用户的合法授权以及保护用户个人信息主体权利的重要文档,其内容应符合国家相关法律法规、政策及标准的规定及您与openinstall的协议约定。您的App《隐私政策》中须包含Open-App移动统计SDK收集使用个人设备信息的目的、方式和范围等,提供的数据安全保护标准应不低于和openinstall的协议约定

App《隐私政策》须展示的内容

SDK 信息与向终端用户披露

请在 App《隐私政策》的「第三方 SDK」或「数据共享和披露」章节中,向终端用户披露以下信息(请根据实际集成的平台与开启的功能调整):

SDK名称:Open-App移动统计SDK
SDK提供方(第三方):福建分和秒网络科技有限公司
收集的个人信息:设备品牌、设备型号、操作系统版本、网络信息;可选项包括粘贴板(剪切板)、开放匿名设备标识符(OAID)、Android ID、设备序列号、IMEI、GAID、MAC地址、IDFA、IDFV等(以实际集成平台与开启的功能为准)
使用目的:应用统计、拉起分析、App传参安装、H5渠道统计、渠道包统计、裂变分享统计、广告统计等
个人信息处理规则链接:https://app.openinstall.com/app-privacy

各平台采集明细

您应向终端用户逐一明示嵌入的第三方 SDK 收集使用个人信息的目的、方式和范围,并在《隐私政策》中说明集成 Open-App移动统计SDK,允许其对已收集数据进行去标识化或匿名化处理后提供数据服务。以下各平台表格供细化 Open-App移动统计SDK 所采集的设备信息和用途时参考

Android

收集信息种类 使用目的 获取方式
必选:设备品牌、设备型号、操作系统版本、网络信息(IP地址) 应用统计、拉起分析、App传参安装、H5渠道统计、Android渠道包统计、裂变分享统计 SDK初始化时自动获取
可选:粘贴板(剪切板) 提升App传参功能、H5渠道统计的归因精度 SDK初始化时自动获取或开发者主动传入
必选:本地存储权限 可选:Android ID、设备序列号(SerialNumber)、读取/写入本地文件 作弊监控功能 SDK初始化时自动获取或开发者主动传入
可选:IMEI、OAID、GAID、Mac地址 广告统计功能 SDK初始化时自动获取或开发者主动传入

iOS

收集信息种类 使用目的 获取方式
必选:设备品牌、设备型号、操作系统版本、网络信息(IP地址) 应用统计、拉起分析、App传参安装、H5渠道统计、裂变分享统计、ASA归因统计 SDK初始化时自动获取
必选:粘贴板(剪切板) 提升App传参功能、H5渠道统计的归因精度 SDK初始化时自动获取
必选:本地存储权限 作弊监控功能 SDK初始化时自动获取
可选:IDFA、IDFV 广告统计功能 SDK初始化时自动获取或开发者主动传入

Harmony

收集信息种类 权限名称 权限说明 使用目的 申请时机
必选:网络信息 ohos.permission.INTERNET 允许使用Internet网络 访问网络 SDK初始化时使用
必选:网络信息 ohos.permission.GET_WIFI_INFO 允许获取Wi-Fi信息 获取网络信息用于应用统计、拉起分析、App传参安装、H5渠道统计、裂变分享统计 SDK初始化时使用
必选:应用基本信息、系统基本信息、系统设置信息 ohos.permission.GET_BUNDLE_INFO 允许查询应用的基本信息 获取应用信息用于应用统计、拉起分析、App传参安装、H5渠道统计、裂变分享统计 SDK初始化时使用
必选:本地存储权限 ohos.permission. STORE_PERSISTENT_DATA 允许安全存储及管理数据 作弊监控功能 SDK初始化时使用
可选:开放匿名设备标识符(OAID) ohos.permission. APP_TRACKING_CONSENT 允许应用读取开放匿名设备标识符 广告统计功能 须开启 adEnabled 后采集;SDK 自动获取或开发者主动传入,支持禁止 SDK 自动获取
可选:粘贴板(剪切板) ohos.permission.READ_PASTEBOARD 允许应用读取剪切板内容 读取并解析口令,提升App传参功能、H5渠道统计数据还原精度 SDK初始化时自动获取或开发者主动传入;支持禁止 SDK 自动获取

以上表格可作为补充参考,用于细化 Open-App移动统计SDK 收集使用个人信息的目的、方式和范围。您应知悉和了解,部分设备信息和网络信息需要通过您安装 Open-App移动统计SDK 的宿主 App 申请权限,Open-App移动统计SDK 不主动向用户移动终端申请任何权限,只有在获得用户的授权同意后我们才会进行收集。

注:Open-App移动统计SDK 传输终端用户的相关数据时会先进行加密,然后传输上报到 openinstall 服务器(不会明文传输)。

注意事项

1、您在使用 Open-App移动统计SDK 前,应当仔细阅读并同意接受 openinstall 的《服务条款》,并参照《Open-App移动统计SDK隐私政策》向终端用户履行告知义务。
2、您请务必确保已经将Open-App移动统计SDK升级到官网发布的最新版本,以保证所使用的SDK收集使用个人设备信息的目的、方式和范围等与《Open-App移动统计SDK隐私政策》中的一致。
最新版本SDK下载地址:SDK下载地址
3、您务必确保在App启动页通过弹窗的形式出示App《隐私政策》,在未征得用户同意之前,不能调用Open-App移动统计SDK初始化,更不能读取任何用户设备信息,否则将面临被应用市场下架的风险。
4、您应遵从国家相关法律法规、政策及标准的要求,对App《隐私政策》进行展示,包括但不限于:

  • 保证《隐私政策》的独立性:《隐私政策》以单独成文的形式发布,而不是作为用户协议、用户说明等文件的一部分存在。
  • 保证《隐私政策》的明显提示性:App首次运行时,需要通过弹窗等明显方式提示终端用户阅读《隐私政策》并获取用户的确认。
  • 保证《隐私政策》的易读性:《隐私政策》文本文字显示方式(字号,颜色,行间距等)不会造成阅读困难。
  • 保证《隐私政策》的易于访问性:进入App主功能界面后,通过4次以内的点击,能够访问到《隐私政策》。

可选个人信息配置

对于部分应用市场的上架审核要求,Open-App移动统计SDK 提供了开发者对部分可选个人信息采集行为的控制方式,以便于开发者做出针对性调整。以下分别说明 Android 与 HarmonyOS 平台的配置方法。

Android 可选个人信息配置

粘贴板(剪切板)

默认情况下,SDK 在初始化时会尝试读取系统剪切板,用于提升 App 传参、H5 渠道统计的归因精度。若应用市场审核认为粘贴板读取频率过高(例如应用宝),可通过 AndroidManifest.xml 中的 meta-data 配置项调整读取策略:

配置值 行为说明
true(默认) 粘贴板读取频率正常,归因成功率较高;部分应用市场可能认定为读取频率过高
false 降低粘贴板读取频率,更易通过应用市场上架审核;读取成功率可能略有下降
<!-- 在 AndroidManifest.xml 的 <application> 节点内添加 -->
<meta-data
    android:name="com.openinstall.PB_SIGNAL"
    android:value="false" />

说明:

  • 支持版本:Android SDK 2.6.4 及以上。
  • 该配置控制 SDK 读取粘贴板的间隔策略;读取失败时,SDK 会间隔 1.2 秒后重试,最多重试 3 次
  • 此配置仅调整读取频率,不能完全禁止 SDK 采集粘贴板。

其它设备信息(Android ID、设备序列号、IMEI、OAID 等)

除粘贴板外,Android SDK 2.6.3 及以上版本对其它设备信息的获取频率、次数已满足主流应用市场的审核标准。若应用市场仍检测到 App 内(含宿主 App 自身及所集成的全部 SDK)对某项设备信息的总获取频率或次数过高,开发者可自行获取对应信息后通过 Configuration.Builder 传入,或传入空字符串禁止 SDK 自动获取,以降低 App 整体采集频率。

支持版本:Android SDK 2.6.4 及以上。

未启用「广告统计」功能时

可自行获取并传入 androidIdserialNumber;也可传入空字符串禁止 SDK 自动获取。上述信息用于数据排重、作弊监控,如重视重复设备数据过滤建议保留。

Configuration configuration = new Configuration.Builder()
        .androidId(androidId)           // 传入实际值,或 "" 禁止 SDK 自动获取
        .serialNumber(serialNumber)     // 传入实际值,或 "" 禁止 SDK 自动获取
        .build();
OpenInstall.init(context, configuration);

已启用「广告统计」功能时

androidIdserialNumber 外,还可按需传入 imeioaidgaidmacAddress;同样支持传入空字符串禁止 SDK 对对应项的自动获取。

Configuration configuration = new Configuration.Builder()
        .androidId(androidId)
        .serialNumber(serialNumber)
        .imei(imei)                     // 广告统计所需,或 "" 禁止 SDK 自动获取
        .oaid(oaid)                     // 广告统计所需,或 "" 禁止 SDK 自动获取
        .gaid(gaid)                     // 广告统计所需,或 "" 禁止 SDK 自动获取
        .macAddress(macAddress)         // 广告统计所需,或 "" 禁止 SDK 自动获取
        .build();
OpenInstall.init(context, configuration);

说明:

  • 若开发者已通过 Configuration.Builder 传入某项设备信息,SDK 不会再次调用系统接口自动获取该项。
  • 传入空字符串("")表示明确禁止 SDK 自动获取对应字段,SDK 将不上报该项信息。
  • IMEI、OAID、GAID、Mac 地址等广告相关标识符,仅在启用广告统计功能时需要配置;未启用时可不传。

HarmonyOS 可选个人信息配置

HarmonyOS SDK 通过 OpInitConfig 配置类,在调用 OpenInstall.init() 时传入,用于控制开放匿名设备标识符(OAID)及粘贴板(剪切板)等可选个人信息的采集行为。Open-App移动统计SDK 不会主动向用户申请权限,相关权限须由宿主 App 在 module.json5 中声明,并在运行时向用户申请;仅在获得用户授权且开发者未禁用对应采集项时,SDK 才会自动读取。

粘贴板(剪切板)
默认情况下(fetchPasteDatatrue),SDK 在初始化时会尝试读取系统剪切板(须已获得 ohos.permission.READ_PASTEBOARD 授权,且仅读取一次)。开发者可通过以下方式控制:

  • 禁止 SDK 自动读取剪切板
let initConfig = new OpInitConfig();
initConfig.disableFetchPasteData();
OpenInstall.init(context, initConfig);
  • 由开发者自行读取后传入(适用于须通过安全控件等合规场景获取剪切板内容的 App)
let initConfig = new OpInitConfig();
initConfig.disableFetchPasteData();
if (OpenInstall.acceptPasteData(pasteData)) {
  initConfig.pasteData = pasteData;
}
OpenInstall.init(context, initConfig);

说明:

  • 若开发者已通过 pasteData 传入剪切板内容,SDK 不会再次自动读取系统剪切板。
  • 调用 disableFetchPasteData() 后,SDK 初始化时将完全不采集剪切板信息。
  • acceptPasteData() 用于判断传入的剪切板内容是否为 openinstall 有效数据,建议在传入前调用。

开放匿名设备标识符(OAID)
OAID 仅在使用「广告统计」功能时采集。须先将 adEnabled 设置为 true,SDK 才会处理 OAID 相关逻辑。SDK 自动获取 OAID 须同时满足:已在 module.json5 中声明 ohos.permission.APP_TRACKING_CONSENT、设备支持 OAID 能力、且用户已授予该权限。

let initConfig = new OpInitConfig();
initConfig.adEnabled = true;  // 须开启,否则不采集 OAID

// 默认:SDK 自动获取 OAID
// initConfig.disableFetchOaid();  // 禁止 SDK 自动获取
// initConfig.oaid = '开发者自行获取的 OAID';  // 由业务侧传入

OpenInstall.init(context, initConfig);

说明:

  • 若已通过 oaid 传入,SDK 不会调用系统接口自动获取。
  • adEnabled 默认为 false,未开启时 不会采集、上报 OAID。
  • 无论用户是否授予 OAID 权限,均须调用 OpenInstall.init();拒绝授权时不上报 OAID,不影响其它功能。