UNI-APP隐私政策问题无法上架

最近项目上线遇到了无法上架的问题,因为UNI-APP权限问题,导致应用宝等无法通过上架审核。

解决方法

根据UNI-APP官方给出的解决方案,官方文章中的解释,进行离线打包的配置。做出如下摘抄:

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

<meta-data  android:name="DCLOUD_PRIVACY_PROMPT"  android:value="template"/>
复制代码

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

敲重点

配置使用"template"模板提示框时,需要按以下方法配置提示框内容

在原生工程的res/values目录下的strings.xml配置默认语言内容(为了兼容用户设置不同语言的清空,此文件必须配置)。中文还需要创建res/values-zh目录下的strings.xml文件并配置中文内容。

注意,需要新建

res/values-zh/strings.xml
复制代码

模板提示框

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

<resources><stringname="dcloud_privacy_prompt_title">弹窗标题</string><stringname="dcloud_privacy_prompt_accept_button_text">接收按钮文字配置字段(不存在该字段,即使用默认内容“同意”)</string><stringname="dcloud_privacy_prompt_refuse_button_text">拒绝按钮文字配置字段(没有该字段或该字段内容为空,拒绝按钮不显示)</string><stringname="dcloud_privacy_prompt_message"><Data><![CDATA[弹窗内容,如果内容中有富文本,请将内容放入cdata下,如当前配置]]></Data></string></resources>复制代码

二次确认提示框

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

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

<string name="dcloud_second_privacy_prompt_title">二级弹窗标题</string>  
    <stringname="dcloud_second_privacy_prompt_accept_button_text">接收按钮文字配置字段(不存在该字段,即使用默认内容“确定”)</string><stringname="dcloud_second_privacy_prompt_message"><![CDATA[协议内容]]></string><stringname="dcloud_second_privacy_prompt_refuse_button_text">拒绝按钮文字配置字段(没有该字段或该字段内容为空,拒绝按钮不显示)</string>复制代码

隐私协议内容需要注意的问题

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

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

自定义权限获取弹窗内容

离线打包提示语配置及弹窗配置。

提示语配置

在主项目的strings.xml中添加如下字段。strings.xml位于 项目目录/src/main/res/values下,如果文件或文件夹不存在,直接新建即可。

存储权限提示语配置

<resources><stringname="dcloud_permission_write_external_storage_message">存储权限提示语</string></resources>复制代码

读取手机状态权限配置

<resources><stringname="dcloud_permission_read_phone_state_message">读取手机状态权限提示语</string></resources>复制代码

弹窗配置

在androidManifest.xml的application节点下添加如下字段。

存储权限弹窗配置

<application><meta-dataandroid:name="DCLOUD_WRITE_EXTERNAL_STORAGE"android:value="once"/></application>复制代码

value可取值为 none、once、always。

读取手机状态弹窗配置

<application><meta-dataandroid:name="DCLOUD_READ_PHONE_STATE"android:value="once"/></application>复制代码

value可取值为 none、once、always。

补充

沟通发现,部分开发者在main.js里面调用了plus.device.getInfo这类方法。

但是其实API操作与permissionExternalStorage设置无关,permissionExternalStorage用于设置应用内部逻辑是否申请访问SD卡权限

开发者是因为在启动的时候调用API触发了权限申请,误以为permissionExternalStorage设置无效(其实设置是生效的)。

其它API操作会根据功能需求来申请权限,比如操作系统相册也会申请访问SDK卡权限、定位操作会申请定位权限等。

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

各个SDK的隐私协议

Android应用市场上架uni-app(5+App)应用合规指南,以及收到工信部或应用市场合规整改通知的解决办法

猜你喜欢

转载自blog.csdn.net/2301_76418988/article/details/129125061