uni-app 华为隐私政策问题,在用户同意隐私政策前应用获取用户信息加速度传感器,不符合华为应用市场审核标准
uni-app 华为隐私政策问题,在用户同意隐私政策前应用获取用户信息加速度传感器,不符合华为应用市场审核标准
项目信息 | 详情 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC开发环境版本 | 21 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 4.29 |
手机系统 | Android |
手机系统版本 | Android 14 |
手机厂商 | 华为 |
手机机型 | Meta30 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
示例代码:
{
"version" : "1",
"prompt" : "template",
"title" : "服务协议和隐私政策",
"message" : " 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/> 你可阅读<a href=\"https://m.qdjk.cn/index.html#license\">《服务协议》</a>和<a href=\"https://m.qdjk.cn/index.html#privacy\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
"buttonAccept" : "同意并接受",
"buttonRefuse" : "暂不同意",
"second" : {
"title" : "确认提示",
"message" : " 进入应用前,你需先同意<a href=\"https://m.qdjk.cn/index.html#license\">《服务协议》</a>和<a href=\"https://m.qdjk.cn/index.html#privacy\">《隐私政策》</a>,否则将无法为您提供更好的服务。",
"buttonAccept" : "同意并继续",
"buttonRefuse" : "不同意"
},
"styles" : {
"backgroundColor" : "#fff",
"borderRadius" : "5px",
"title" : {
"color" : "#333333"
},
"buttonAccept" : {
"color" : "#333333"
},
"buttonRefuse" : {
"color" : "#999999"
}
},
"disagreeMode" : {
"support" : true,
"loadNativePlugins" : false
}
}
操作步骤:
- 正常启动
预期结果:
- 用户点击同意前不要请求加速度传感器
实际结果:
- 用户点击同意前请求了加速度传感器
bug描述:
应用审核意见:
- 在用户同意隐私政策前,您的应用获取用户信息:加速度传感器,不符合华为应用市场审核标准。
- 修改建议:请在用户同意隐私政策后,再申请获取用户个人信息及权限。
请参考《审核指南》第7.5相关审核要求:https://developer.huawei.com/consumer/cn/doc/50104
APP常见个人信息保护问题FAQ请参考: https://developer.huawei.com/consumer/cn/doc/distribution/app/FAQ-faq#h2-1628498414951-0
请注意,本次为机审结果。您的应用重新上传后可能还会有其他问题,请以最终审核意见为准。
以下是华为给的回复
- HUAWEI AppGallery Connect18:48 尊敬的开发者,您好,感谢耐心等待 您可查看如调用栈自行定位,建议参考审核意见修改,在用户同意隐私政策后,再申请获取用户个人信息及权限。以后续提审结果为准,谢谢。 应用获取用户信息:加速度传感器
更多关于uni-app 华为隐私政策问题,在用户同意隐私政策前应用获取用户信息加速度传感器,不符合华为应用市场审核标准的实战教程也可以访问 https://www.itying.com/category-93-b0.html
通过调用堆栈信息看,是你主动调用了获取传感器信息。检查一下代码调用逻辑。
更多关于uni-app 华为隐私政策问题,在用户同意隐私政策前应用获取用户信息加速度传感器,不符合华为应用市场审核标准的实战教程也可以访问 https://www.itying.com/category-93-b0.html
是哪个API 会调用 传感器信息呢?
在隐私弹窗出现的时候 ,APP内的Main.js 和APP.vue 内的代码都没有执行,实在找不到哪个地方会调用了
加速度计 罗盘 陀螺仪
可以参考上面描述的这些,如果开启了游客模式,游客模式下不能调用任何涉及隐私的API,参考文档:https://uniapp.dcloud.net.cn/tutorial/app-disagreemode.html
回复 DCloud_Android_zl: 我的引用 只在业务代码里面会调用 onAccelerometerChange这个API 但华为这边说的是隐私政策同以前就已经调用了
回复 lioe: 这段堆栈就是你调用了uni的api导致的,你看一下你是不是使用了我们的原生弹框,然后再看一下是不是有游客模式。配置参考上面我发的文档。
回复 DCloud_Android_zl: 目前是没有开启游客模式的, 如果开启了游客模式, 那么在游客模式下 调用类似陀螺仪这些API 还会成功吗?
回复 lioe: 会成功,游客模式下需要开发者自己处理
针对您提到的uni-app在华为应用市场中关于隐私政策的问题,即在用户同意隐私政策前应用就获取了加速度传感器信息,这确实违反了华为应用市场的审核标准。为了解决这个问题,我们需要确保在用户明确同意隐私政策后,再进行相关敏感信息的获取。以下是一个基于uni-app的示例代码,展示如何在用户同意隐私政策后再初始化加速度传感器:
// 在App.vue的onLaunch方法中处理隐私政策同意逻辑
export default {
onLaunch: function() {
// 检查是否已经同意隐私政策,这里假设有一个全局变量isPrivacyPolicyAccepted
if (!uni.getStorageSync('isPrivacyPolicyAccepted')) {
// 如果未同意,显示隐私政策页面
uni.navigateTo({
url: '/pages/privacyPolicy/privacyPolicy'
});
} else {
// 如果已同意,初始化加速度传感器
this.initAccelerometer();
}
},
methods: {
initAccelerometer: function() {
// 初始化加速度传感器
uni.startAccelerometer({
success: function(res) {
console.log('加速度传感器数据:', res.x, res.y, res.z);
},
fail: function(err) {
console.error('加速度传感器初始化失败:', err);
}
});
// 监听加速度传感器数据变化
uni.onAccelerometerChange(function(res) {
console.log('加速度传感器数据变化:', res.x, res.y, res.z);
});
}
}
};
// 在隐私政策页面中,用户同意后设置isPrivacyPolicyAccepted为true,并返回
// 隐私政策页面 (pages/privacyPolicy/privacyPolicy.vue) 示例代码
<template>
<view>
<text>隐私政策内容...</text>
<button @click="agreePrivacyPolicy">同意并继续</button>
</view>
</template>
<script>
export default {
methods: {
agreePrivacyPolicy: function() {
uni.setStorageSync('isPrivacyPolicyAccepted', true);
uni.navigateBack();
}
}
};
</script>
在上述代码中,我们在App.vue
的onLaunch
方法中检查用户是否已经同意隐私政策。如果用户未同意,则导航到隐私政策页面。在用户同意隐私政策后,我们设置isPrivacyPolicyAccepted
为true
,并导航回主页面,此时主页面会初始化加速度传感器。
请确保在实际应用中,隐私政策页面的设计和内容符合相关法律法规的要求,并清晰地向用户解释将收集哪些信息以及如何使用这些信息。此外,还应提供用户撤回同意的选项,并在用户撤回同意后停止收集和使用相关信息。