SDK 合规使用指南

最近更新时间:2024-06-26 09:51:51

我的收藏
注意:
根据《个人信息保护法》、《数据安全法》、《网络安全法》等法律法规和监管部门规章要求,App 开发运营者(以下简称为“开发者”)在提供网络产品服务时应尊重和保护最终用户的个人信息,不得违法违规收集使用个人信息,保证和承诺就个人信息处理行为获得最终用户的授权同意,遵循最小必要原则,且应当采取有效的技术措施和组织措施确保个人信息安全。为帮助开发者在使用移动推送 SDK 的过程中更好地落实用户个人信息保护相关要求,避免出现侵害最终用户个人信息权益的情形,特制定本合规使用说明,开发者使用 移动推送 SDK 时必须在《隐私政策》中告知终端用户 SDK 使用用途,并且在终端用户未同意《隐私政策》前不得初始化任何 SDK。请您务必按照以下步骤做好合规自查,避免被监管部门通报或下架您的应用。

1. 升级至最新版本移动推送 SDK

请务必确保您已经将移动推送 SDK 升级至满足监管新规的最新版本。请前往 Harmony SDK 发布动态 查看和下载最新版本 SDK。

2. 隐私政策中添加移动推送相关说明

请您确保您开发或运营的应用有符合监管要求的《隐私政策》文本。同时请您务必明确告知终端用户您的应用使用了移动推送服务。建议您在《隐私政策》对应的章节、列表中添加关于移动推送的说明,推荐条款如下:
SDK名称:移动推送 SDK
第三方名称:深圳市腾讯计算机系统有限公司
SDK 用途:在移动终端设备进行消息推送
收集个人信息类型:
(1)、 设备信息(手机型号,系统类型、系统版本等)用于标签化推送以及识别是否是真机、网络信息(网络类型)支持根据不同网络类型进行不同类型推送、应用数据(AAID(应用匿名标识符)推送流程中产生的送达、点击、曝光等数据)用于推送业务数据统计。
(2)、(可选信息,依赖开发者设置)账号绑定信息(根据您所选用的不同推送渠道,QQ号、微信Union ID、 手机号、邮箱等)用于根据账号信息进行推送
数据处理方式:通过去标识化、加密传输及其他安全方式
官网链接:https://cloud.tencent.com/product/tpns
隐私政策链接:https://privacy.qq.com/document/preview/8565a4a2d26e480187ed86b0cc81d727

3.《隐私政策》弹出条件

您需要确保 App 有《隐私政策》,且在用户首次启动 App 时弹出《隐私政策》取得用户同意。

4. 隐私接口确认与移动推送 SDK 初始化及业务功能调用时机

要求内容:《SDK 合规使用说明》应详细说明 SDK 初始化及各项业务功能接口合规调用时机。App 应当在 App 登录注册页面及 App 首次运行时,通过弹窗、文本链接及附件等简洁明显且易于访问的方式,向最终用户告知涵盖个人信息处理主体、处理目的、处理方式、处理类型、保存期限等内容的个人信息处理规则,并且获得最终用户授权同意后才能处置最终用户数据。
接入说明:请务必确保终端用户有效同意您 App 中的隐私政策后,再进行移动推送 SDK 初始化。用户同意隐私政策之前,避免动态申请涉及用户个人信息的敏感设备权限;用户同意隐私政策前,您应避免私自采集和上报个人信息。当您的 App 未向用户提供服务时,例如 App 在后台运行时,请勿请求移动推送 SDK 的相关服务接口。
强烈建议您参见 Harmony SDK 发布动态 升级使用最新版本 SDK。 同时,SDK 提供以下接口配置,建议用户按实际需求配置使用。

3.1 初始化相关说明

初始化时机配置
移动推送 SDK 在后续 App 启动时移动推送 Harmony SDK 提供以下接口初始化移动推送 SDK,在终端用户有效同意您 App 中的隐私政策调用如下接口进行初始化,详细参考初始化接口:初始化接口
注意:
App 只有在完成移动推送的初始化才可以使用移动推送 SDK 提供的 Push 服务, 移动推送 SDK 初始化需要在自定义的 AbilityStage 的 onCreate 方法中初始化!
示例代码
//1. 自定义AbilityState
export default class MyAbilityStage extends AbilityStage { onCreate(): void { try { let tpnsClient = TPush.createTPushClient(context, { accessId: 150000xxxx, //您应用对应移动推送控制台生成的accessId accessKey: "您的accessKey",//您应用对应移动推送控制台生成的accessKey host: "tpns.tencent.com", //接入点:默认广州集群 debugMode: true //上线后记得设置为false }); this.tpnsClient.setMessageReceiver(new MessageReiver()); } catch (err) { //TODO:: TPush.createTPushClient 传递的必选参数为空或者非法会抛出异常此处要注意处理 } } onAcceptWant(want: Want): string { // 仅specified模式下触发 return 'MyAbilityStage'; } onNewProcessRequest(want: Want): string{ return ""; } onMemoryLevel(level: AbilityConstant.MemoryLevel): void{ } }

//2. 在module.json5中配置MyAbilityStage
{
"module": { "name": "entry", "type": "entry", "srcEntry": "./ets/abilitystage/MyAbilitystage.ets", //此处配置MyAbilitystage "description": "$string:module_desc", "mainElement": "EntryAbility",
}
}

3.2 业务接口调用说明

请务必确保终端用户有效同意《隐私政策》后再调用移动推送 SDK 业务功能。SDK 功能业务接口链接:注册接口
注册业务代码示例
/**
* 在用户隐私政策协议同意后,再做调用移动推送TPNS SDK接口
* 建议在
*/
function callTPNSPushSDKRegister() {
/*
* 当用户同意隐私政策协议时,再调用移动推送 SDK业务功能;
* 当用户未同意隐私政策协议时,需等用户同意后,再通过callTPNSPushSDKRegister(...)方法进行注册TPNS
* 应用只有在完成移动推送TPNS的注册后才可以使用TPNS提供Push服务,在这之前请确保有初始化配置AccessId和AccessKey
*/
let agreed = true;
if (agreed) {
//建议在线程中执行调用
this.tpnsClient.registerPush().then((data) => { console.error("TPush-Demo", "registerPush result:" + data); }).catch((err: BusinessError<string>) => { console.error("TPush-Demo", "registerPush fail err:" + JSON.stringify(err)); });
}
}

4. SDK可选信息配置开关

要求内容:《SDK 合规使用说明》应详细说明 SDK 各项可选个人信息使用目的、场景及对应关闭的配置方式、示例。
接入说明:移动推送 SDK 向您提供了可选个人信息及权限的控制开关,您可以根据 App 所需的 SDK 功能服务自行配置打开或关闭隐私信息请求开关,对于移动推送 SDK 可选收集的个人信息的控制,开发者可以参考如下配置指引进行配置操作。因相关信息的不收集将会对其对应的功能造成影响,请开发者结合业务实际需要进行合理配置。

4.1. 配置可选个人信息

基于账号推送功能,第三方开发者需要通过预埋账号类型绑定共享给移动推送 SDK,根据第三方开发者选择的推送通道的不同所共享给移动推送 SDK 的信息也会有所不同。如果第三方开发者未使用账号推送功能则不需要共享此类信息
如需清除已收集账号数据,可以参考 SDK 账号接口进行清除,SDK 业务功能接口链接:清除账号接口
可选个人信息类型及字段
使用目的
使用场景
设备信息(可选)
OAID(仅鸿蒙与 Android)
用 OAID 作为移动推送的账号,账号推送时可以使用 OAID 进行账号推送。
根据 OAID 进行账号推送时使用
微信 UnionID
使用微信 UnionID 作为移动推送的账号,账号推送时可以使用微信 UnionID 进行账号推送。
根据 UnionID 进行账号推送时使用
QQ openID
使用 QQ openID 作为移动推送的账号,账号推送时可以使用 QQ openID 进行账号推送。
根据 QQ openID 进行账号推送时使用
账号信息(可选)
邮箱账号、新浪微博账号、支付宝账号、淘宝账号、豆瓣账号、FaceBook 账号、Twitter 账号、Google 账号、百度账号、京东账号、linkedin 账号
使用设置的账号类型和账号信息作为移动推送的账号,账号推送时可以使用该账号类型和账号信息进行账号推送。
根据设置账号类型进行账号推送
用户基本信息(可选)
手机号
使用设置手机号作为推送的账号,账号推送时可以使用该手机号进行推送
根据设置手机号进行账号推送

4.2. SDK申请系统权限说明

要求内容:《SDK 合规使用说明》应详细说明SDK所需的系统权限与各业务功能间的关系,并说明权限申请时机。
接入说明:对于移动推送 SDK 申请的系统权限,您可以参考相关如下表格的内容,详细了解相关权限与各业务功能的关系及其申请时机,因相关权限的不申请将会对其对应的功能造成影响,您可以结合业务实际需要进行合理配置。配置文档链接:Harmony接入指南 - SDK集成
操作系统
权限名称
使用目的
功能场景(申请时机)
是否可选
Harmony
ohos.permission.INTERNET
进行与推送服务进行网络访问,进行业务数据上报
使用推送服务 SDK 时
必选
Harmony
ohos.permission.GET_BUNDLE_INFO
获取当前使用移动推送SDK的应用信息进行应用信息bundle,版本号等信息的校验
使用推送服务 SDK 时
必选
Harmony
ohos.permission.GET_WIFI_INFO
获取网络类型,用于SDK网络访问
使用推送服务 SDK 时
必选
Harmony
ohos.permission.GET_NETWORK_INFO
获取网络信息(网络是否连接, 网络变化)
使用推送服务 SDK 时
必选

5. SDK扩展业务功能的配置说明

要求内容:《SDK 合规使用指南》应详细说明SDK各项扩展业务功能介绍及对应关闭的配置方式、示例。
接入说明:移动推送鸿蒙 SDK 无扩展业务功能。开发者需遵守相关法律法规的要求,在 App 内为最终用户提供退出个性化推送的功能,保证在最终用户点击退出功能后调用移动推送 SDK 的能力接口。


6. SDK 可按照不同频次、精度收集个人信息的配置说明

要求内容:如果 SDK 可按照不同频次、精度收集个人信息的,《SDK 合规使用说明》应说明不同频次、精度的使用目的、场景及对应选择的配置方式、示例。
接入说明:收集频次方面,移动推送 SDK 的数据采集仅在 App 调用/最终用户触发相关功能时触发,不涉及定时逻辑等频次控制选项。收集精度方面不涉及精度相关控制,相关业务接口务必确保终端用户有效同意《隐私政策》后调用,可参考 SDK 接口文档链接:Harmony SDK接口文档

7. 最终用户同意方式的示例

要求内容:《SDK 合规使用说明》应详细说明 App 获取最终用户授权同意的建议方式,其中需要取得最终用户单独同意的,应显著提示并给出示例。
接入说明:App 首次运行时应当有隐私弹窗,隐私弹窗中应公示简版隐私政策内容并附完整版隐私政策链接,并明确提示最终用户阅读并选择是否同意隐私政策;隐私弹窗应提供同意按钮和拒绝同意的按钮,并由最终用户主动选择。
披露示例:


8. 撤回同意机制说明

请您告知终端用户其享有选择关闭相应权限或行使退出(opt-out)权利,一旦终端用户行使前述权利,其个人信息将不再会被处理。我们建议您在终端用户撤销同意处理其个人信息的授权时,参见腾讯推送服务 移动推送Harmony接入指南 - 接口文档“反注册接口说明”部分进行处理,以便用户更便捷行使退出的选择权。

9. 隐私保护机制

如果您对 SDK 权限有任何疑问、意见和建议,或者需要腾讯协助关闭某项权限采集能力,可通过以下联系方式与我们联系:
电子邮件:tpns_team@tencent.com
联系地址:深圳市南山区粤海街道麻岭社区科技中一路腾讯大厦
您还可以随时通过访问移动推送官网在线客服系统与我们联系,我们将及时为您提供咨询和服务,确保各项隐私机制的落实和执行。