uni-app 上架vivo提示APP未见向用户告知且未经用户同意
uni-app 上架vivo提示APP未见向用户告知且未经用户同意
操作步骤
提交审核
预期结果
审核通过
实际结果
被驳回
bug描述
vivo上架时被驳回 apppid是UNI714ADFD
(1) APP存在在静默状态下或在后台运行时收集个人信息的情况,建议在隐私政策说明相关情况,并以隐私政策弹窗的方式向用户明示;(2) APP在静默状态下或在后台运行时,收集IME1、IMS1、设备MAC地址、软件安装列表、位置、联系人、通话记录、日历、短信、本机电话号码、图片、音视频等个人信息不应超出其所明示的收集目的的合理关联范围。
开发环境信息
项目创建方式 | HBuilderX |
---|---|
PC开发环境操作系统 | Windows |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.36 |
手机系统 | Android |
手机系统版本号 | Android 15 |
手机厂商 | vivo |
手机机型 | vivo |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
1 回复
在处理uni-app上架vivo应用商店时遇到的“APP未见向用户告知且未经用户同意”的问题,这通常指的是应用未按照相关规定在用户首次启动或关键功能使用前明确获取必要的用户权限,或者未提供充分的隐私政策说明。为了解决这个问题,你需要确保应用在用户隐私和数据收集方面符合vivo应用商店的要求。以下是一个基本的代码示例,展示如何在uni-app中实现用户权限请求和隐私政策提示。
1. 请求用户权限
在uni-app中,你可以使用uni.getSetting
和uni.authorize
API来检查并请求用户权限。以下是一个请求用户位置权限的示例:
// 检查用户是否已授权位置信息
uni.getSetting({
success: function (res) {
if (!res.authSetting['scope.userLocation']) {
// 用户未授权,则请求授权
uni.authorize({
scope: 'scope.userLocation',
success: function () {
console.log('用户授权成功');
// 执行需要位置信息的操作
},
fail: function () {
console.log('用户拒绝授权');
// 显示提示信息或处理拒绝授权的逻辑
uni.showToast({
title: '需要您的位置信息才能继续',
icon: 'none'
});
}
});
} else {
// 用户已授权,执行相关操作
console.log('用户已授权位置信息');
}
}
});
2. 显示隐私政策
在应用首次启动时,可以通过弹窗形式向用户展示隐私政策,并要求用户同意。以下是一个简单的实现示例:
// 在App.vue的onLaunch生命周期函数中调用
onLaunch: function () {
// 检查用户是否已经同意过隐私政策(可以保存在localStorage中)
let hasAgreedPrivacyPolicy = uni.getStorageSync('hasAgreedPrivacyPolicy');
if (!hasAgreedPrivacyPolicy) {
// 显示隐私政策弹窗
uni.showModal({
title: '隐私政策',
content: '我们的应用将收集以下信息用于...(隐私政策详细内容)',
showCancel: false,
success: function (res) {
if (res.confirm) {
// 用户同意隐私政策,保存状态
uni.setStorageSync('hasAgreedPrivacyPolicy', true);
// 继续应用初始化流程
}
}
});
} else {
// 用户已同意隐私政策,继续应用初始化流程
}
}
以上代码仅为示例,实际应用中你需要根据vivo应用商店的具体要求调整隐私政策和权限请求的逻辑。确保在提交应用前,仔细阅读并遵守vivo应用商店的开发者指南和隐私政策要求。