Skip to main content

GrowingIO HarmonyOS SDK 合规说明

SDK 业务功能

  • 基本功能:GrowingIO HarmonyOS SDK 属于统计分析 SDK 类型,基本业务功能为数据分析相关的服务,简称 GIO 服务。
  • 扩展功能:暂无其他扩展功能。

隐私协议

根据工业和信息化部关于开展纵深推进 APP 侵害用户权益专项整治行动的指导,应用程序(App)必须通过详细的隐私协议来明确阐述其所采集的用户数据。

为确保您的 App 在集成 GrowingIO SDK 之后,能够全面符合工业和信息化部的相关合规要求及国家法律规定,请您参考以下指南进行操作。

隐私协议填写

收集和获取

在您的APP《隐私协议》中收集和获得的个人信息栏目中根据实际情况填写如下内容:

我们的产品集成了 GrowingIO SDK,我们会通过 GrowingIO SDK 收集您的设备信息(例如:操作系统、设备型号、系统版本)用于统计分析您在 App 内的使用效果,从而改进我们的产品和服务。 

可在第三方SDK列表中增加如下内容(设备信息按照实际情况填写):

GrowingIO HarmonyOS SDK
用途:分析收集移动应用程序(App)用户的使用情况
收集个人信息类型:deviceId,UUID,屏幕分辨率(可选),设备方向(可选),设备品牌(可选),设备型号(可选),操作系统版本(可选),语言环境(可选),时区(可选),网络类型(可选),经纬度(可选),页面路径(仅无埋点),页面来源(仅无埋点),页面标题(仅无埋点)
提供方:北京易数科技有限公司
第三方SDK隐私协议链接:https://accounts.growingio.com/user-privacy

与授权合作伙伴共享

在您的APP《隐私协议》中的与授权合作伙伴共享栏目中根据实际情况填写如下内容:

我们的产品集成了 GrowingIO SDK,我们会通过 GrowingIO SDK 收集您的设备信息(例如:操作系统、设备型号、系统版本)用于统计分析您在 App 内的使用效果,从而改进我们的产品和服务。

合规步骤

  1. 您需要确保 App 有详细且明确的符合国家法律法规规定的《隐私协议》或相关政策,且该协议将全面阐述如何收集、使用、存储及保护最终用户的个人信息。

  2. 在最终用户首次启动 App 时,系统应向最终用户自动弹出或展示《隐私协议》的界面,该界面应设计直观、易于理解,并同时提出 “同意协议”、“拒绝协议” 两种明确的选项,以供用户选择。用户必须在做出选择后,才能继续使用 App,以确保对其个人信息的收集和处理的充分知情及自主选择。

    最终用户同意授权示例:

  3. 请务必告知最终用户,App 中集成并使用了 GrowingIO SDK。在《隐私协议》中,您需要特别添加关于 GrowingIO SDK 使用的个人隐私条款,协议链接为:https://accounts.growingio.com/user-privacy 明确说明 SDK 的提供方、详细信息、数据收集范围、目的、存储方式及安全保障措施等。

  4. 我们特别提醒,请在最终用户明确同意《隐私协议》后,再行启动 SDK 的数据采集功能。

  5. 若最终用户拒绝《隐私协议》,请勿使用 GrowingIO SDK 进行采集,以尊重用户的意愿。

  6. 用户单独同意合规 根据《个人信息保护法》第 23、25、26、29 和 39 条以及《信息安全技术个人信息处理中告知同意的实施指南》第 9.2 条的规定,“单独同意” 主要适用于以下五种情形:

    1)向其他个人信息处理者提供其处理的个人信息;

    2)公开其处理的个人信息;

    3)将公共场所收集的个人图像/身份特征信息用于非公共安全之目的;

    4)处理敏感个人信息(敏感个人信息的具体判断及分级标准参见:国家标准 GB/T 35273-2020 <信息安全技术个人信息安全规范>);

    5)向境外提供个人信息。

    针对上述情形,在用户做出单独同意之前,您应当通过增强式告知或即时提示的方式,针对需要单独同意的事项予以专门、充分的告知。这就意味着您不能将单独同意事项捆绑或者混同在其他同意事项中,采取一揽子的方式取得最终用户的同意。而是应该将“单独同意”事项抽离出来单独告知。例如通过弹窗,可下滑查看的嵌套网页、跳转到另一页面以增强告知等方式清晰明确地对用户进行告知说明。

便捷有效撤回同意方式

您需要确保 App 有便携有效的撤回同意方式,以便最终用户可以通过简单设置来撤回同意 GrowingIO 的数据分析服务。请通过以下接口停止 GrowingIO SDK 的数据采集:

GrowingAnalytics.setDataCollectionEnabled(false)

采集详情

设备权限

权限用途是否必须申请时机
ohos.permission.INTERNET允许应用程序联网和发送统计数据的权限,以便提供统计分析服务必须权限发送埋点数据时
ohos.permission.GET_NETWORK_INFO获取当前联网方式的权限,以便提供统计分析服务必须权限发送埋点数据时

初始化

方式一、设置数据采集开关

在 AbilityStage 的 onCreate 方法中初始化 SDK (Stage 模型):

export default class MyAbilityStage extends AbilityStage {
onCreate(): void {
// 应用的HAP在首次加载的时,为该Module初始化操作
this.startAnalytics()
}
onAcceptWant(want: Want): string {
// 仅specified模式下触发
return 'MyAbilityStage'
}

startAnalytics() {
let config = ...
// 1.dataCollectionEnabled 设置为 false
config.dataCollectionEnabled = false
// 2.初始化 GrowingIO SDK
// GrowingIO SDK 初始化代码
GrowingAnalytics.start(this.context, config)
}
}

某一时刻,用户同意隐私协议后:

GrowingAnalytics.setDataCollectionEnabled(true)

方式二、延迟初始化

在 EntryAbility 的 onCreate 方法中同意隐私协议后初始化 SDK (Stage 模型):

export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
if (<未同意隐私协议>){
// 展示隐私协议弹窗,等待用户同意
...

if (<用户同意了隐私协议>){
// GrowingIO SDK 初始化代码
...
}
} else {
//用户已经同意隐私协议
// GrowingIO SDK 初始化代码
...
}
}
}

可选信息配置

收集个人信息类型用途是否可选
deviceId用于数据分析,SDK 根据设备识别码生成设备唯一标识 ID默认采集,生成规则为随机uuid
页面路径数据分析需要默认采集
页面来源数据分析需要默认采集
页面标题数据分析需要默认采集
UUID用于数据分析,SDK 根据设备识别码生成设备唯一标识 ID默认采集
屏幕分辨率、设备方向数据分析需要可选,默认采集,可使用配置接口忽略该信息采集
设备品牌、型号数据分析需要,区分不同设备品牌和型号可选,默认采集,可使用配置接口忽略该信息采集
操作系统数据分析需要,区分不同设备操作系统默认采集
操作系统版本数据分析需要,区分不同设备操作系统版本可选,默认采集,可使用配置接口忽略该信息采集
语言环境数据分析需要,区分不同设备语言环境可选,默认采集,可使用配置接口忽略该信息采集
时区数据分析需要,区分事件发生的不同时区可选,默认采集,可使用配置接口忽略该信息采集
网络类型数据分析需要可选,默认采集,可使用配置接口忽略该信息采集
经纬度数据分析需要可选, 由网站/App/小程序根据业务分析需要,在用户授权前提下,获取位置信息后采集,SDK 不主动采集

对于可选采集的个人信息类型,您应当在 App 中提供实时配置的入口,便于最终用户授权前进行变更

let config = ...
// 配置可选信息是否采集,以忽略网络类型和操作系统版本为例
config.ignoreField = GrowingIgnoreFields.NetworkState | GrowingIgnoreFields.PlatformVersion
GrowingAnalytics.start(this.context, config)

// 如果最终用户授权同意采集经纬度信息,请手动采集,SDK 不主动采集
GrowingAnalytics.setLocation(latitude, longitude)

数据存储发送策略说明

HarmonyOS SDK 采集的用户行为数据支持设置发送间隔,默认 15 秒,SDK 会先将行为数据存入 App 本地 sqlite 数据库中,然后以每隔间隔时间向服务器发送行为数据包(最大 500 条行为数据),如果待发送行为数据量大于 500 条,则发送至所有数据发送完成,行为数据发送成功后将在数据库中删除。数据库中未发送的行为数据会在 7 天之后删除。