DCloud_App_Array
DCloud_App_Array
  • 发布:2020-02-13 23:11
  • 更新:2022-11-14 10:30
  • 阅读:29740

iOS平台隐私与政策提示框实现注意问题

分类:HTML5+

根据工业和信息化部关于开展APP侵害用户权益专项整治要求,App提交到应用市场必须满足以下条件:

  • 应用启动运行时需弹出隐私政策协议,说明应用采集用户数据
    这里将详细介绍如何配置弹出“隐私协议和政策”提示框
  • 应用不能强制要求用户授予权限,即不能“不给权限不让用”

iOS系统因为系统授权管理比较完善,调用访问涉及到个人隐私信息的接口都会弹出系统授权提示框,并且在提示框上描述应用使用此权限的用途。
因此没有提供Android平台这样的提示框配置方法,需要开发者在应用中自己实现隐私政策提示框。

<a id="collect"/> ## 数据采集说明 为了持续优化应用及提供统计报表功能,应用在运行过程中会采集以下数据: - 应用启动时会采集应用启动时间信息用于优化启动速度,不包含个人隐私信息 - 应用启动后会采集统计数据用于提供[uni统计服务](https://tongji.dcloud.net.cn/),iOS平台如果用户开启了IDFA则采集数据会包含IDFA信息。uni统计配置方法参考[uni-app的manifest.json配置项列表](https://uniapp.dcloud.io/collocation/manifest?id=unistatistics) - 应用异常时会采集错误日志信息,用于优化改进产品

DCloud通过了国家信息安全等级保护三级,证书编号:11010813802-20001,保障相关数据的安全性
DCloud并非大数据公司,采集的数据是为开发者提供统计服务和产品持续优化,不包含个人隐私相关信息

隐私政策提示框实现

iOS平台没有提供隐私政策模板提示框,所以需要开发者在应用中自己实现隐私政策提示框。

  • uni-app项目
    建议使用nvue页面来实现,渲染速度更快,用于体验更好。
  • 5+ APP(WAP2APP)项目
    简单提示框可以使用系统确认对话框plus.nativeUI.confirm,缺点是无法自定义样式,无法使用链接;
    如果希望自定义隐私政策提示框,可以在Webview中使用html渲染,如在首页使用div渲染、或打开独立的Webview窗口。
    用户点击同意隐私政策时推荐调用plus.runtime.agreePrivacy保存状态,应用启动时调用plus.runtime.isAgreePrivacy获取用户是否已经同意。

系统授权提示框处理

如果应用第一次启动时会弹出系统授权提示框,可以参考以下说明处理。

使用无线数据

提交应用启动时间信息等需要用到网络,所以应用第一次启动时可能会弹出“使用无线数据”系统授权框

目前AppStore上大部分应用在显示隐私政策提示框同时会弹出此授权提示款,不会影响上线审核

<a id="push"></a>

发送通知

如果应用使用了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来避免。

1 关注 分享
aliang888

要回复文章请先登录注册

1***@163.com

1***@163.com

回复 风云杭州 :
你好请问实现了吗 什么思路呢 看完了文档还是 没啥思路啊 谢谢了
2021-07-12 13:35
月圆

月圆

Android的通过配置的方式,实现协议和隐私弹窗,此种方式弹窗弹出时,项目中用的到各种三方skd尚未进行初始化

而IOS端自定义的协议和隐私弹窗,改怎么控制在三方skd初始化之前就弹出呢?
2021-07-01 14:59
2***@qq.com

2***@qq.com

安卓的离线打包怎么去掉呢
2021-06-22 11:44
愿得一人心z

愿得一人心z

回复 愿得一人心z :
/* ios打包配置 */
"ios" : {
"pushRegisterMode":"manual"
},
2021-05-21 16:05
愿得一人心z

愿得一人心z

设置了 pushRegisterMode 这个但是在打完自定义基座测试后依然弹出了授权框,是必须要打正式包才会起作用吗?
2021-05-21 16:01
xatao

xatao

回复 风云杭州 :
你好 请问IOS 没次安装app 就会弹出隐私政策同意弹窗 这个你是怎么解决的
2021-05-18 11:10
y***@yinjing.vip

y***@yinjing.vip

请问怎么去掉电话权限这些东西,一拒app都不能启动了
2021-04-27 10:23
y***@yinjing.vip

y***@yinjing.vip

我用了个推但是没有个提示。怎么才能让这个提示出来
2021-04-27 10:14
无情哈拉少

无情哈拉少

多谢
2020-07-23 22:51
风云杭州

风云杭州

uni-app项目
建议使用nvue页面来实现,渲染速度更快,用于体验更好。 --请问怎么个实现法呀?是在app.vue页面来实现还是在首页实现呀?
2020-07-23 22:15