uniapp安卓隐私与政策提示框配置方法
根据工业和信息化部关于开展APP侵害用户权益专项整治要求,App提交到应用市场必须满足以下条件:
- 应用启动运行时需弹出隐私政策协议,说明应用采集用户数据
这里将详细介绍如何配置弹出“隐私协议和政策”提示框
- 应用不能强制要求用户授予权限,即不能“不给权限不让用”
如不希望应用申请“读写手机存储”和“访问设备信息”权限,请参考:https://ask.dcloud.net.cn/article/36549
HBuilderX2.6.3+版本开始支持配置隐私政策提示框
为了兼顾隐私政策提示框的易用性和灵活性,解决弹出隐私政策提示框之前可能弹出系统授权框的问题。Android平台提供了以下隐私政策提示配置策略:
- template
使用5+提供的隐私政策模板提示框,应用启动时在splash界面弹出。
使用原生提示框样式,推荐5+ APP(WAP2APP)使用,简单配置隐私政策提示内容就可快速实现。
- custom
自定义隐私政策提示框,进入应用后由应用的代码控制弹出时机。
推荐uni-app使用,可以使用nvue页面渲染与应用界面风格近似的隐私政策提示框。
虽然5+ APP也可以使用,但5+ APP不支持nvue页面渲染,需使用html页面自定义隐私政策提示框,野蛮复杂时在低端机器上可能出现闪白的问题,不推荐使用。
- none
不处理隐私政策
不提交到应用市场时使用
数据采集说明
为了持续优化应用及提供统计报表功能,应用在运行过程中会采集以下数据:
- 应用启动时会采集应用启动时间信息用于优化启动速度,不包含个人隐私相关信息
- 同意隐私政策后,会采集统计数据用于提供uni统计服务,如果用户允许了“访问设备信息权限”,为了提供更准确的统计报表会采集设备标识信息
- 应用异常时会采集错误日志信息,用于优化改进产品,不包含个人隐私相关信息
配置方式
打开项目的manifest.json文件,切换到“源码视图”项
- uni-app项目
在 "app-plus" -> "privacy" 节点下添加 prompt节点
- 5+ App项目
在 "plus" -> "privacy" 节点下添加 prompt节点
privacy节点数据格式如下:
"privacy": {"prompt": "template", //可取值template、custom、none
"template": { //prompt取值为template时有效,用于配置模板提示框上显示的内容
}
}
- prompt
字符串类型,必填,隐私政策提示框配置策略,可取值template、custom、none,默认值为none
- template
使用原生提示框模板,可自定义标题、内容已经按钮上的文本
- custom
自定义隐私政策提示框,uni-app项目中推荐使用nvue页面进行自定义,5+ APP使用html页面进行自定义
- none
不弹出隐私政策提示框
- template
- template
json格式,可选,模板提示框上显示的内容
模板提示框
配置promt属性值为template时,表示使用原生模板隐私政策提示框,效果如下:
应用启动前,在Splash页面时显示此提示框,用户点击同意按钮后才会进入应用
可使用以下配置模板提示框内容
"privacy": {"prompt": "template",
"template": {
"title": "服务协议和隐私政策",
"message": " 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/> 你可阅读<a href="">《服务协议》</a>和<a href="">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
"buttonAccept": "我知道了",
"buttonRefuse": "暂不同意"
}
}
- title
模板提示框上的标题,默认为“服务协议和隐私政策”
- message
模板提示框上的内容,richtext类型字符串,支持a/font/br等节点,点击a链接会调用内置页面打开其href属性中链接地址。
注意:务必配置此提示内容,或参考上面示例内容并修改《服务协议》和《隐私政策》链接地址
- buttonAccept
模板提示框上接受按钮的文本,默认值为“我知道了”
- buttonRefuse
模板提示框上拒绝按钮的文本,默认不显示此按钮
配置后提交云端打包后生效
自定义提示框
配置prompt属性值为custom时,表示使用自定义隐私政策提示框。
"privacy": {"prompt": "custom"
}
提供5+ API设置/获取状态:
- 获取是否同意隐私政策
参考规范:plus.runtime.isAgreePrivacy
应用启动时调用此API查下状态,如果用户未同意则弹出自定义隐私政策提示框。
if(!plus.runtime.isAgreePrivacy()){
//弹出自定义隐私政策提示框
}
- 设置为同意隐私政策
参考规范:plus.runtime.agreePrivacy
在自定义隐私政策提示界面用,用户点击“同意”按钮时需调用此API设置状态
- 设置为不同意隐私政策
参考规范:plus.runtime.disagreePrivacy
在自定义隐私政策提示界面用,用户点击“不同意”按钮时需调用此API设置状态
注意:用户同意隐私政策前不要调用可能弹出系统授权框的API,如定位(plus.geolocation)、录音(plus.audio.getRecorder)等
无提示框
配置prompt属性值为none时,表示不显示隐私政策提示框。
如果不提交到应用市场,可以使用此模式。
隐私政策模板
可参考附件隐私权政策协议模板
注意:请修改模板中的公司名称及联系邮件地址
离线配置方式
修改弹窗标题、内容及按钮问题需在strings.xml里添加如下内容。
<resources><string name="dcloud_privacy_prompt_title">弹窗标题</string>
<string name="dcloud_privacy_prompt_accept_button_text">接收按钮文字配置字段(不存在该字段,即使用默认内容“我知道了”)</string>
<string name="dcloud_privacy_prompt_refuse_button_text">拒绝按钮文字配置字段(没有该字段或该字段内容为空,拒绝按钮不显示)</string>
<string name="dcloud_privacy_prompt_message"><Data><![CDATA[弹窗内容,如果内容中有富文本,请将内容放入cdata下,如当前配置]]></Data></string>
</resources>
修改弹窗模式需在androidmanifest.xml的application节点下添加以下字段。
<application><meta-data
android:name="DCLOUD_PRIVACY_PROMPT" android:value="template"/>
</application>
value可取值为template custom none。
相关问题
Android平台配置权限参考:https://ask.dcloud.net.cn/article/36982
iOS平台隐私与政策提示框实现参考:https://ask.dcloud.net.cn/article/36955
以上是 uniapp安卓隐私与政策提示框配置方法 的全部内容, 来源链接: utcz.com/a/20489.html