uniapp打包的APP需要上架华为应用市场,一步一个坑,记录一下遇到的问题:
1. 审核被拒,提示“您的应用内存在收集个人信息行为,但未勾选隐私标签,不符合华为应用市场审核标准。”
修改建议:请根据应用收集的个人信息项和个人信息使用目的,如实填写隐私标签。
解决方案:
- 检查代码,确保在隐私协议勾选之前没有进行任何获取用户个人信息及权限的操作。
- 添加系统隐私与政策提示框。 根据
参考资料2
进行配置:
androidPrivacy.json:
{
"version" : "1.0.0",
"prompt" : "template",
"title" : "服务协议和隐私政策",
"message" : " 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/> 你可阅读<a href=\"http://***.html\">《服务协议》</a>和<a href=\"http://***.html\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
"buttonAccept" : "同意并接受",
"buttonRefuse" : "暂不同意",
"hrefLoader" : "system",
"backToExit" : "false",
"second" : {
"title" : "确认提示",
"message" : " 进入应用前,你需先同意<a href=\"http://***.html\">《服务协议》</a>和<a href=\"http://***.html\">《隐私政策》</a>,否则将退出应用。",
"buttonAccept" : "同意并继续",
"buttonRefuse" : "退出应用"
},
"disagreeMode" : {
"support" : false,
"loadNativePlugins" : false,
"visitorEntry" : false,
"showAlways" : false
},
"styles" : {
"backgroundColor" : "#ffffff",
"borderRadius" : "5px",
"title" : {
"color" : "#333333"
},
"buttonAccept" : {
"color" : "#00a7e5"
},
"buttonRefuse" : {
"color" : "#8c8c8c"
},
"buttonVisitor" : {
"color" : "#8c8c8c"
}
}
}
参考资料:
2. 审核被拒,提示“您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(相机、存储、位置)等权限,不符合华为应用市场审核标准”
修改建议:APP在申请敏感权限时,应同步说明权限申请的使用目的,包括但不限于申请权限的名称、服务的具体功能、用途;告知方式不限于弹窗、蒙层、浮窗、或者自定义操作系统权限弹框等。请排查应用内所有权限申请行为,确保均符合要求。
解决方案:
- 对照
“安卓permission对照说明”
,检查manifest.json文件内的安卓权限,去掉没有用到的权限; - 我的APP内主要使用了相机\相册,存储,定位的权限,结合
“权限提示弹窗”
配置了自己的permissionMap对象,如下:
let permissionMap = {
"android": {
"CAMERA_EXTERNAL_STORAGE": {
"name": "android.permission.READ_EXTERNAL_STORAGE,android.permission.WRITE_EXTERNAL_STORAGE,android.permission.CAMERA",
"title": "相机/相册权限说明",
"content": "便于您使用该功能上传您的照片/图片/视频及用于更换头像、拍照等场景中读取和写入相册和文件内容"
},
"CAMERA": {
"name": "android.permission.CAMERA",
"title": "相机权限说明",
"content": "便于您使用该功能上传您的照片用于更换头像、扫码等场景"
},
"EXTERNAL_STORAGE": {
"name": "android.permission.READ_EXTERNAL_STORAGE,android.permission.WRITE_EXTERNAL_STORAGE",
"title": "相册权限说明",
"content": "便于您使用该功能上传您的照片/图片/视频及用于更换头像、扫码等场景中读取和写入相册和文件内容"
},
"LOCATION": {
"name": "android.permission.ACCESS_COARSE_LOCATION,android.permission.ACCESS_FINE_LOCATION",
"title": "定位权限说明",
"content": "便于您使用该功能确认当前位置,进行定位分析"
},
},
"ios": {}
}
- 其他检验权限还做了自己的逻辑判断处理,这里就不阐述了。
- 使用方法:
import permision from "@/utils/permission.js";
var result = await permision.premissionCheck("CAMERA")
if (result == 1) {
uni.chooseImage({
count: 1,
sizeType: ["original", "compressed"],
sourceType: ["album"],
success: (res) => {
},
fail: async (res) => {
}
});
}
参考资料:
终于顺利上架了。APP版本更新的有时间再记录吧。
网友评论