注意:
根据《个人信息保护法》、《数据安全法》、《网络安全法》等法律法规和监管部门规章要求,App 开发运营者(以下简称为“开发者”)在提供网络产品服务时应尊重和保护最终用户的个人信息,不得违法违规收集使用个人信息,保证和承诺就个人信息处理行为获得最终用户的授权同意,遵循最小必要原则,且应当采取有效的技术措施和组织措施确保个人信息安全。为帮助开发者在使用移动推送 SDK 的过程中更好地落实用户个人信息保护相关要求,避免出现侵害最终用户个人信息权益的情形,特制定本合规使用说明,开发者使用 移动推送 SDK 时必须在《隐私政策》中告知终端用户 SDK 使用用途,并且在终端用户未同意《隐私政策》前不得初始化任何 SDK。请您务必按照以下步骤做好合规自查,避免被监管部门通报或下架您的应用。
1. 升级至最新版本移动推送 SDK
2. 隐私政策中添加移动推送相关说明
请您确保您开发或运营的应用有符合监管要求的《隐私政策》文本。同时请您务必明确告知终端用户您的应用使用了移动推送服务。建议您在《隐私政策》对应的章节、列表中添加关于移动推送的说明,推荐条款如下:
SDK名称:移动推送 SDK第三方名称:深圳市腾讯计算机系统有限公司SDK 用途:在移动终端设备进行消息推送收集个人信息类型:(1)、 设备信息(手机型号,系统类型、系统版本等)用于标签化推送以及识别是否是真机、网络信息(网络类型)支持根据不同网络类型进行不同类型推送、应用数据(推送流程中产生的送达、点击、曝光等数据)用于推送业务数据统计。(2)、(可选信息,依赖开发者设置)账号绑定信息(根据您所选用的不同推送渠道,QQ号、微信Union ID、 手机号、邮箱等)用于根据账号信息进行推送数据处理方式:通过去标识化、加密传输及其他安全方式官网链接:https://cloud.tencent.com/product/tpns隐私政策链接:https://privacy.qq.com/document/preview/8565a4a2d26e480187ed86b0cc81d727
若您的应用接入了厂商通道,请务必根据真实集成情况在《隐私政策》向终端用户披露第三方 SDK 详情。提供以下信息供您参考,但请您务必参照各厂商官网就个人信息处理的说明进行操作并且以该官网的描述为准:
第三方 SDK 名称 | 第三方公司名称 | 个人信息类型 | 使用第三方 SDK 的目的 | 使用第三方 SDK 的使用场景 | 第三方个人信息处理规则 |
VIVO PUSH SDK | 维沃移动通信有限公司 | 应用基本信息:appid,appkey,应用包名,应用版本号,pushSDK版本 应用内设备标识符:vpush的regId 设备的硬件信息:设备类型(如手机,平板等) 系统基本信息:系统类型(如Android,OS等)和系统版本 | 用于支持推送消息以及用于统计vivo推送SDK接口调用成功率。 用于支持推送消息。 | 使用 VIVO 厂商推送时 | |
OPPO PUSH SDK | 广东欢太科技有限公司 | 应用基本信息(MCS应用包名、应用版本号、OPUSH SDK版本号),应用内设备标识符(RegistraterID、appKey、appSecret) | 消息推送服务。 | 使用 OPPO 厂商推送时 | |
小米推送 SDK | 北京小米移动软件有限公司 | 设备标识(OAID、加密的Android ID)、推送消息内容、设备信息(设备厂商、型号、归属地、运营商名称等)、通知栏设置 | 用于向您推送消息。 | 进行小米厂商推送时 | 相关说明 |
魅族推送 SDK | 珠海市魅族通讯设备有限公司 | 设备相关信息(手机品牌、手机型号、系统版本、系统语言,以及设备标识符 PUSHID)和应用信息、推送状态 | 提供魅族手机实时消息推送、优化推送体验和统计分析。 | 使用魅族厂商推送 | 相关说明 魅族推送合规指南 |
华为推送 SDK | 华为软件技术有限公司 | 应用信息、设备信息(设备的硬件信息、系统基本信息和系统设置) | 用于消息推送 | 使用华为厂商推送时 | |
Google FCM SDK | Google LLC | IP 地址、移动广告 IDFV、androidID、FireBase 安装 ID、分析应用等实例、设备信息、推送消息相关信息 | 移动推送包含 Google FCM 商推送,以提升消息抵达率。 | 使用 FCM 进行推送时(仅面向境外用户) | |
荣耀推送 SDK | 荣耀终端有限公司 | 设备信息:设备标识符(AAID、PushToken) 应用的基本信息 | 向用户推送通知消息。 | 使用 honor 厂商推送时 |
3. 隐私接口确认与移动推送 SDK 初始化、自启动配置及业务功能调用时机
要求内容:《SDK 合规使用说明》应详细说明 SDK 初始化及各项业务功能接口合规调用时机。App 应当在 App 登录注册页面及 App 首次运行时,通过弹窗、文本链接及附件等简洁明显且易于访问的方式,向最终用户告知涵盖个人信息处理主体、处理目的、处理方式、处理类型、保存期限等内容的个人信息处理规则,并且获得最终用户授权同意后才能处置最终用户数据。
接入说明:请务必确保终端用户有效同意您 App 中的隐私政策后,再进行移动推送 SDK 初始化。用户同意隐私政策之前,避免动态申请涉及用户个人信息的敏感设备权限;用户同意隐私政策前,您应避免私自采集和上报个人信息。当您的 App 未向用户提供服务时,例如 App 在后台运行时,请勿请求移动推送 SDK 的相关服务接口。
3.1 初始化相关说明
Provider 组件初始化时机配置
移动推送 SDK 在后续 App 启动时移动推送 Android SDK 1.3.3.3 起新增以下接口配置是否自动初始化 SDK 的 Provider 组件功能,在终端用户有效同意您 App中的隐私政策且 App 调用了移动推送业务功能之后默认开启;
注意:
如不需要自动开启,请在应用工程
Application.attachBaseContext()
方法内调用此接口并传入 false。/*** 配置 SDK 的 Provider 组件功能是否自动初始化,默认开启** @param autoInitParam true:开启;false:关闭*/public static void setAutoInit(boolean autoInitParam)
示例代码
XGPushConfig.setAutoInit(false);
3.2 业务接口调用说明
请务必确保终端用户有效同意《隐私政策》后再调用移动推送 SDK 业务功能。SDK 功能业务接口链接:https://cloud.tencent.com/document/product/548/36659
注册业务代码示例
/*** 在用户隐私政策协议同意后,再做调用移动推送TPNS SDK接口* 建议在*/private void callTPNSPushSDKRegister() {/** 当用户同意隐私政策协议时,再调用移动推送 SDK业务功能;* 当用户未同意隐私政策协议时,需等用户同意后,再通过callTPNSPushSDKRegister(...)方法进行注册TPNS* 应用只有在完成移动推送TPNS的启动与注册后才可以使用TPNS提供Push服务,在这之前请确保配置AccessId和AccessKey*/boolean agreed = ...if (agreed) {//建议在线程中执行调用new Thread(new Runnable() {@Overridepublic void run() {XGPushManager.registerPush(getApplicationContext(), new XGIOperateCallback() {@Overridepublic void onSuccess(Object data, int flag) {Log.d("TPush","onSuccess token:" + data);}@Overridepublic void onFail(Object data, int errCode, String msg) {Log.d("TPush","onFail token: " + data + ", errCode: " + errCode + ", msg: " + msg);}});}}).start();}}
4. SDK可选信息配置开关
要求内容:《SDK 合规使用说明》应详细说明SDK各项可选个人信息使用目的、场景及对应关闭的配置方式、示例。
接入说明:移动推送 SDK 向您提供了可选个人信息及权限的控制开关,您可以根据 App 所需的 SDK 功能服务自行配置打开或关闭隐私信息请求开关,对于移动推送 SDK 可选收集的个人信息的控制,开发者可以参考如下配置指引进行配置操作。因相关信息的不收集将会对其对应的功能造成影响,请开发者结合业务实际需要进行合理配置。
4.1. 配置可选个人信息
基于账号推送功能,第三方开发者需要通过预埋账号类型绑定共享给移动推送 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 申请的系统权限,您可以参考相关如下表格的内容,详细了解相关权限与各业务功能的关系及其申请时机,因相关权限的不申请将会对其对应的功能造成影响,您可以结合业务实际需要进行合理配置。配置文档链接:https://cloud.tencent.com/document/product/548/36652
操作系统 | 权限名称 | 使用目的 | 功能场景(申请时机) | 是否可选 |
Android | 应用包名.permission.XGPUSH_RECEIVE | 使用移动推送的权限 | 使用推送服务 SDK 时 | 必选 |
Android | android.permission.INTERNET | 进行与推送服务进行网络访问,进行业务数据上报 | 使用推送服务 SDK 时 | 必选 |
Android | android.permission.ACCESS_WIFI_STATE | 获取 Wi-Fi 连接状态,以识别用户可下发推送图标的分辨率 | 使用推送服务 SDK 时 | 必选 |
Android | android.permission.ACCESS_NETWORK_STATE | 获取网络连接状态,用户是否要进行网络交互 | 使用推送服务 SDK 时 | 必选 |
Android | android.permission.SCHEDULE_EXACT_ALARM | 设置系统定时闹钟,用于保持推送长链接 | 调用推送 SDK 业务功能之前,由开发者自己申请 | 必选 |
Android | android.permission.WAKE_LOCK | 发送保持长链接时避免短时间迅速休眠 | 使用推送服务 SDK 时 | 可选 |
Android | android.permission.POST_NOTIFICATIONS | 用于给应用展示通知 | 调用推送 SDK 业务功能之前,由开发者自己申请 | 必选 |
Android | com.huawei.android.launcher.permission.CHANGE_BADGE | 用于展示华为设备应用图标角标 | 使用推送服务 SDK 时 | 可选 |
Android | com.vivo.notification.permission.BADGE_ICON | 用于展示 vivo 设备应用图标角标 | 使用推送服务 SDK 时 | 可选 |
Android | android.permission.VIBRATE | 用于自定义通知震动 | 使用推送服务 SDK 时 | 可选 |
Android | android.permission.RECEIVE_USER_PRESENT | 用户监控用户划屏,用户快速回复推送长链接 | 使用推送服务 SDK 时 | 可选 |
Android | android.permission.WRITE_EXTERNAL_STORAGE | 用于缓存日志文件至外部存储中 | 调用推送 SDK 业务功能之前,由开发者自己申请 | 可选 |
Android | android.permission.RESTART_PACKAGES | 用于重启当前应用的推送进程 | 使用推送服务 SDK 时 | 可选 |
Android | android.permission.GET_TASKS | 获取开发者集成推送SDK 应用的进程名称 | 使用推送服务 SDK 时 | 可选 |
5. SDK扩展业务功能的配置说明
要求内容:《SDK 合规使用指南》应详细说明SDK各项扩展业务功能介绍及对应关闭的配置方式、示例。
接入说明:移动推送 SDK 提供的主要扩展业务功能为自启动和关联启动(关联启动为老版本功能, SDK1.3.4.0 版本起不提供拉活功能,关联启动功能已下线),移动推送 SDK 为开发者提供关闭自启动,关联启动接口,开发者可以调用接口,向最终用户提供关闭自启动、关联启动的能力。退出后,最终用户接收推送的实时性会降低。开发者需遵守相关法律法规的要求,在 App 内为最终用户提供退出个性化广告的功能,保证在最终用户点击退出功能后调用移动推送 SDK 的能力接口。相关配置指引参考如下说明。
5.1. 自启动配置说明
自启动配置
移动推送 Android SDK 1.3.4.3 起新增以下接口配置是否开启自启动,默认关闭。
注意:
/*** 配置是否开启自启动,默认关闭。* 即使配置为开启,在不同厂商系统的电源管理方案下自启动行为可能同样受限。** @param context 应用上下文* @param enable true:开启自启动;false:关闭自启动* @since 1.3.4.3*/public static void enableAutoStart(Context context, boolean enable)
示例代码
XGPushConfig.enableAutoStart(context, false);
说明:
移动推送 SDK 在测试观察部分厂商系统自带的应用启动记录工具时发现,当前移动推送 SDK 版本在某些厂商的部分设备上仍然有被记录存在自启动情况,但属于系统导致的自启动非 SDK 行为。该情况我们已经和厂商直接沟通,其反馈后续的新系统不会再有此问题。如您对此有相关疑问,请参考本文第7点提及的联系方式与我们联系。
关于第三方 SDK 自启动的特别提示:基于推送的目的,小米推送 SDK 、FCM 推送 SDK、华为推送 SDK 可能存在自启动行为。
关联启动配置
配置是否允许拉起其他集成移动推送服务的应用的后台推送进程,默认关闭。
注意:
如需开启,请一定参考 移动推送隐私保护指引 ,在应用自己的隐私政策中披露关联启动行为,并确认在用户同意隐私政策后才配置开启。受监管合规法规影响,从 SDK 1.3.4.0 版本起不提供拉活功能,关联启动功能已下线。
/*** 设置是否允许拉起其他集成 TPNS 服务的应用的后台推送进程,默认关闭。* 即使配置为开启,在不同厂商系统的电源管理方案下关联启动行为可能同样受限。** @param context 应用上下文* @param pullUp true:开启;false:关闭* @since 1.1.5.4*/public static void enablePullUpOtherApp(final Context context, final boolean pullUp)
示例代码
XGPushConfig.enablePullUpOtherApp(context, false);
6. SDK 可按照不同频次、精度收集个人信息的配置说明
要求内容:如果 SDK 可按照不同频次、精度收集个人信息的,《SDK 合规使用说明》应说明不同频次、精度的使用目的、场景及对应选择的配置方式、示例。
接入说明:收集频次方面,移动推送 SDK 的数据采集仅在 App 调用/最终用户触发相关功能时触发,不涉及定时逻辑等频次控制选项。收集精度方面不涉及精度相关控制,相关业务接口务必确保终端用户有效同意《隐私政策》后调用,可参考 SDK 接口文档链接:https://cloud.tencent.com/document/product/548/36659
7. 最终用户同意方式的示例
要求内容:《SDK 合规使用说明》应详细说明 App 获取最终用户授权同意的建议方式,其中需要取得最终用户单独同意的,应显著提示并给出示例。
接入说明:App 首次运行时应当有隐私弹窗,隐私弹窗中应公示简版隐私政策内容并附完整版隐私政策链接,并明确提示最终用户阅读并选择是否同意隐私政策;隐私弹窗应提供同意按钮和拒绝同意的按钮,并由最终用户主动选择。
披露示例:
8. 撤回同意机制说明
请您告知终端用户其享有选择关闭相应权限或行使退出(opt-out)权利,一旦终端用户行使前述权利,其个人信息将不再会被处理。我们建议您在终端用户撤销同意处理其个人信息的授权时,参见腾讯推送服务 移动推送Android 接入指南 - 接口文档“反注册接口说明”部分进行处理,以便用户更便捷行使退出的选择权。
9. 隐私保护机制
如果您对 SDK 权限有任何疑问、意见和建议,或者需要腾讯协助关闭某项权限采集能力,可通过以下联系方式与我们联系:
电子邮件:tpns_team@tencent.com
联系地址:深圳市南山区粤海街道麻岭社区科技中一路腾讯大厦
您还可以随时通过访问移动推送官网在线客服系统与我们联系,我们将及时为您提供咨询和服务,确保各项隐私机制的落实和执行。