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。

相关问题

Android平台配置权限参考:https://ask.dcloud.net.cn/article/36982

iOS平台隐私与政策提示框实现参考:https://ask.dcloud.net.cn/article/36955

以上是 uniapp安卓隐私与政策提示框配置方法 的全部内容, 来源链接: utcz.com/a/20489.html

回到顶部