根据工业和信息化部关于开展APP侵害用户权益专项整治要求,App提交到应用市场必须满足以下条件:
- 应用启动运行时需弹出隐私政策协议,说明应用采集用户数据
这里将详细介绍如何配置弹出“隐私协议和政策”提示框 - 应用不能强制要求用户授予权限,即不能“不给权限不让用”
iOS系统因为系统授权管理比较完善,调用访问涉及到个人隐私信息的接口都会弹出系统授权提示框,并且在提示框上描述应用使用此权限的用途。
因此没有提供Android平台这样的提示框配置方法,需要开发者在应用中自己实现隐私政策提示框。
数据采集说明
为了持续优化应用及提供统计报表功能,应用在运行过程中会采集以下数据:
- 应用启动时会采集应用启动时间信息用于优化启动速度,不包含个人隐私信息
- 应用启动后会采集统计数据用于提供uni统计服务,iOS平台如果用户开启了IDFA则采集数据会包含IDFA信息。uni统计配置方法参考uni-app的manifest.json配置项列表
- 应用异常时会采集错误日志信息,用于优化改进产品
DCloud通过了国家信息安全等级保护三级,证书编号:11010813802-20001,保障相关数据的安全性
DCloud并非大数据公司,采集的数据是为开发者提供统计服务和产品持续优化,不包含个人隐私相关信息
隐私政策提示框实现
iOS平台没有提供隐私政策模板提示框,所以需要开发者在应用中自己实现隐私政策提示框。
- uni-app项目
建议使用nvue页面来实现,渲染速度更快,用于体验更好。 - 5+ APP(WAP2APP)项目
简单提示框可以使用系统确认对话框plus.nativeUI.confirm,缺点是无法自定义样式,无法使用链接;
如果希望自定义隐私政策提示框,可以在Webview中使用html渲染,如在首页使用div渲染、或打开独立的Webview窗口。
用户点击同意隐私政策时推荐调用plus.runtime.agreePrivacy保存状态,应用启动时调用plus.runtime.isAgreePrivacy获取用户是否已经同意。
系统授权提示框处理
如果应用第一次启动时会弹出系统授权提示框,可以参考以下说明处理。
使用无线数据
提交应用启动时间信息等需要用到网络,所以应用第一次启动时可能会弹出“使用无线数据”系统授权框
![](http://img-cdn-tc.dcloud.net.cn/uploads/article/20200213/0818be73ad45ac1752dd1f05d7c191d4.png)
目前AppStore上大部分应用在显示隐私政策提示框同时会弹出此授权提示款,不会影响上线审核
发送通知
如果应用使用了uniPush(发送消息通知)功能,在应用启动时会弹出“发送通知”系统授权框
这是因为应用启动时会自动向系统注册要使用消息推送功能引起,如果希望在应用启动时不弹出此授权框,HBuilderX2.6.3+版本可以按以下方法配置配置应用启动时不注册。
在用户接受隐私政策后调用异步获取客户端推送标识信息方法 plus.push.getClientInfoAsync进行注册。
配置方法
打开项目的manifest.json文件,切换到“源码视图”项
- uni-app项目
在 "app-plus" -> "distribute" -> "ios" 节点下添加 pushRegisterMode节点 - 5+ App项目
在 "plus" -> "distribute" -> "apple" 节点下添加 pushRegisterMode节点
pushRegisterMode字段值设置如下:
"pushRegisterMode": "manual"
注意plus.push.getClientInfo是同步方法,不会触发向系统注册操作,必须使用异步方法 plus.push.getClientInfoAsync
配置后提交云端打包后生效
本地离线打包参考:https://ask.dcloud.net.cn/article/41#pushRegister
其它授权框
应用启动不会主动调用涉及到系统授权框的功能,但是调用类似定位等功能时也会触发“位置信息”授权框
这时需要修改应用内部业务逻辑,在用户同意隐私政策前不要调用这些API来避免。