dcloud wap2app上架应用宝过审方法

参考:https://ask.dcloud.net.cn/article/36937

Android平台隐私与政策提示框配置方法 

HBuilderX2.6.3+版本开始支持配置隐私政策提示框
HBuilderX3.1.10+版本优化template模式策略,解决应用市场检测到弹出隐私政策提示框之前读取mac地址和应用列表的问题
注意:目前设置custom模式策略,并不能完全避免在弹出隐私提示框之前,读取设备信息(如mac地址、应用列表等)的情况,主要原因是自定义模式隐私提示框并不能阻塞应用的生命周期,使用到一些三方SDK(如X5 Webview内核、UniPush等)在应用启动时会执行初始化操作,三方SDK这是可能会读取设备信息。碰到此问题的开发者请先使用template模式解决,我们后续会提供新的自定义隐私提示框样式解决方案。

uni小程序SDK暂时不支持uniapp自己配置隐私弹窗,需要宿主自行实现隐私弹窗

概述

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

  • 应用启动运行时需弹出隐私政策协议,说明应用采集用户数据
    这里将详细介绍如何配置弹出“隐私协议和政策”提示框
  • 应用不能强制要求用户授予权限,即不能“不给权限不让用”
    如不希望应用启动时申请“读写手机存储”和“访问设备信息”权限,请参考:https://ask.dcloud.net.cn/article/36549

为了兼顾隐私政策提示框的易用性和灵活性,解决弹出隐私政策提示框之前可能弹出系统授权框的问题。Android平台提供了以下隐私政策提示配置策略:

  • template (推荐使用)
    使用原生提供的隐私政策模板提示框,应用启动时在splash界面弹出。
    • 优点:在系统授权提示框之前显示,用户点击确认后才会进入应用
    • 缺点:只能配置提示文本及链接地址,无法自定义提示框样式
  • custom (不推荐使用,自定义模式下无法准确的阻塞三方SDK初始化获取数据,应用中如果使用了三方SDK功能可能会导致隐私协议弹窗显示之前就会被检测到部分获取数据行为 )
    自定义隐私政策提示框,进入应用后由应用的业务代码控制弹出时机。
    注意:在显示自定义隐私政策提示框之前不要调用触发系统授权提示框的API(如访问相册、定位、录音等)
    • 优点:可以自定提示框样式
    • 缺点:需要开发者自己写代码控制显示隐私提示框的逻辑。uni-app推荐使用nvue页面来渲染; 5+ App(Wap2App)使用html页面渲染隐私提示框可能在低端机器上出现闪白的问题,推荐使用template模式。
  • none
    不处理隐私政策
    不提交到应用市场时使用

DCloud数据采集说明

为了持续优化应用及提供统计报表功能,在运行过程中会采集应用启动时间、异常错误日志等数据,其中包含设备唯一识别码。

请在《隐私政策》中必告知用户您的应用基于DCloud uni-app(5+ App/Wap2App)开发,增加如下参考条款

我们的产品基于DCloud uni-app(5+ App/Wap2App)开发,应用运行期间需要收集您的设备唯一识别码(IMEI/android ID/IDFA、SIM 卡 IMSI 信息)以提供统计分析服务,并通过应用启动数据及异常错误日志分析改进性能和用户体验,为用户提供更好的服务。

配置方式

打开项目的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时,表示使用原生模板隐私政策提示框,效果如下:

dcloud wap2app上架应用宝过审方法_第1张图片


应用启动前,在Splash页面时显示此提示框,用户点击同意按钮后才会进入应用

 

可使用以下配置模板提示框内容

复制代码    "privacy": {  
      "prompt": "template",  
      "template": {  
        "title": "服务协议和隐私政策",  
        "message": "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。
  你可阅读《服务协议》《隐私政策》了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。", "buttonAccept": "我知道了", "buttonRefuse": "暂不同意", "second": { "title": "温馨提示", "message": "  进入应用前,你需先同意《服务协议》《隐私政策》,否则将推出应用。", "buttonAccept": "同意并继续", "buttonRefuse": "退出应用", } } }
  • title
    模板提示框上的标题,默认为“服务协议和隐私政策”
  • message
    模板提示框上的内容,richtext类型字符串,支持a/font/br等节点,点击a链接会调用内置页面打开其href属性中链接地址。
    注意:务必配置此提示内容,或参考上面示例内容并修改《服务协议》和《隐私政策》链接地址
  • buttonAccept
    模板提示框上接受按钮的文本,默认值为“我知道了”
  • buttonRefuse
    模板提示框上拒绝按钮的文本,默认不显示此按钮
  • second
    HBuilderX3.1.12+版本新增支持隐私提示框二次确认提示,用于配置二次确认提示框显示内容,message属性值不为空时弹出二次确认提示框
    • title 二次确认提示框上的标题
    • message 二次确认提示框上的内容,支持richtext类型字符串
    • 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时,表示不显示隐私政策提示框。
如果不提交到应用市场,可以使用此模式。

离线打包配置方式

在原生工程中应用的AndroidManifest.xml中配置隐私提供框模式,在application节点下添加meta-data节点数据,如下:

复制代码  
  

android:value可取值为"template"、"custom"、"none"。

配置使用"template"模板提示框时,需要按以下方法配置提示框内容
在原生工程的res/values目录下的strings.xml配置默认语言内容(为了兼容用户设置不同语言的清空,此文件必须配置)。中文则可以创建res/values-zh目录下的strings.xml配置中文内容。

模板提示框

请在原生工程的strings.xml中添加以下字段配置模板提示框内容。

复制代码  
    弹窗标题  
    接收按钮文字配置字段(不存在该字段,即使用默认内容“同意”)  
    拒绝按钮文字配置字段(没有该字段或该字段内容为空,拒绝按钮不显示)  
      

二次确认提示框

HBuilderX3.1.12+版本新增支持模板隐私提示框二次确认功能,点击隐私模板提示框时用户选择“拒绝”按钮并且二次确认提示框内容dcloud_second_privacy_prompt_message配置不为空时会弹出二次确认提示框。

请在原生工程的strings.xml中添加以下字段配置二次确认提示框内容。

复制代码    二级弹窗标题  
    接收按钮文字配置字段(不存在该字段,即使用默认内容“确定”)  
      
    拒绝按钮文字配置字段(没有该字段或该字段内容为空,拒绝按钮不显示)

其它需要配置隐私协议的模块

unipush

  • 在使用个推SDK产品时,开发者需在App《隐私政策》的 “与授权合作伙伴共享”条款中,将 个推的用户隐私政策 加入其中,并向终端用户逐一明示您嵌入的SDK收集使用个人信息的目的、方式和范围。
  • 您应确保在App首次运行时通过明显方式提示终端用户阅读您的《隐私政策》并取得终端用户的合法授权后,再调用相关api!!!!

具体可参考【个推合规指南 】

statistic

友盟统计:

  • 当你集成了统计模块。您需要确保App有《隐私政策》,并且在用户首次启动App时就弹出《隐私政策》取得用户同意!!!
  • 您务必告知用户您选择友盟+SDK服务,请在《隐私政策》中增加如下参考条款:“我们的产品集成友盟+SDK,友盟+SDK需要收集您的设备Mac地址、唯一设备识别码(IMEI/android ID/IDFA/OPENUDID/GUID、SIM 卡 IMSI 信息)以提供统计分析服务,并通过地理位置校准报表数据准确性,提供基础反作弊能力。”
  • 您务必确保用户同意《隐私政策》之后。再调用相关api!!!!

具体可参考【友盟合规指南】

其它相关问题

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

附件

可参考附件隐私权政策协议模板
注意:请修改模板中的公司名称及联系邮件地址

  • 隐私权政策模板.zip

 

你可能感兴趣的:(app)