DCloud_App_Array
DCloud_App_Array
  • 发布:2020-02-13 23:11
  • 更新:2020-07-23 22:51
  • 阅读:5269

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

分类:HTML5+

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

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

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

数据采集说明

为了持续优化应用及提供统计报表功能,应用在运行过程中会采集以下数据:

  • 应用启动时会采集应用启动时间信息用于优化启动速度,不包含个人隐私信息
  • 应用启动后会采集统计数据用于提供uni统计服务,iOS平台如果用户开启了IDFA则采集数据会包含IDFA信息。uni统计配置方法参考uni-app的manifest.json配置项列表
  • 应用异常时会采集错误日志信息,用于优化改进产品,不包含个人隐私相关信息

隐私政策提示框实现

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

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

系统授权提示框处理

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

使用无线数据

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

目前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来避免。

1 关注 分享
aliang888

要回复文章请先登录注册

无情哈拉少

无情哈拉少

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

风云杭州

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

风云杭州

这个页面是在首页上实现的吗?
2020-07-23 21:53