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

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。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七夜zippoe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值