uni-app 荣耀、VIVO提审被拒:未同意隐私弹窗前读取OAID
uni-app 荣耀、VIVO提审被拒:未同意隐私弹窗前读取OAID APP向用户明示SDK的收集使用规则,未经用户同意,SDK存在收集IMEI、设备MAC地址和软件安装列表、通讯录和短信等信息的行为。
2024-12-19 16:13:36.939 -> [测试动作] 启动史宾格隐私合规检测
2024-12-19 16:14:08.409 -> (SDK: 个推消息推送SDK) 读取OAID
2024-12-19 16:15:27.199 -> 弹出隐私政策
at android.app.ContextImpl.bindServiceCommon()
at android.app.ContextImpl.bindService(ContextImpl.java:1557)
at android.content.ContextWrapper.bindService(ContextWrapper.java:684)
at com.getui.gtc.dim.c.d$e.a(Unknown Source:10)
at com.getui.gtc.dim.c.d$b.c(Unknown Source:72)
at com.getui.gtc.dim.c.d$l.c(Unknown Source:0)
at com.getui.gtc.dim.c.a.a(Unknown Source:42)
at com.getui.gtc.dim.b.g.b(Unknown Source:634)
at com.getui.gtc.dim.b.g.a(Unknown Source:180)
at com.getui.gtc.dim.b.g.a(Unknown Source:980)
at com.getui.gtc.dim.a.a(Unknown Source:493)
at com.getui.gtc.dim.DimManager.get(Unknown Source:13)
at com.getui.gtc.h.c.a(Unknown Source:72)
at com.getui.gtc.h.c$1.run(Unknown Source:2)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
更多关于uni-app 荣耀、VIVO提审被拒:未同意隐私弹窗前读取OAID的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在隐私政策个推sdk那一项把 OAID 加上去应该机审就能通过了,最好把MAC地址 WIFI的SSID、BSSID 也加进去
更多关于uni-app 荣耀、VIVO提审被拒:未同意隐私弹窗前读取OAID的实战教程也可以访问 https://www.itying.com/category-93-b0.html
没有个推,也没有对接推送,接了uni一键登录的个验
回复 1***@qq.com: 一键登录好像就是个推的
在uni-app开发中,面对荣耀、VIVO等安卓手机厂商对于应用隐私政策的严格审核,特别是关于OAID(Open Anonymous Device Identifier,开放匿名设备标识符)的获取,确保应用合规性至关重要。OAID的获取通常需要用户的明确同意,否则可能导致应用审核不通过。以下是一个在uni-app中实现隐私弹窗并获取OAID的示例代码,以确保在用户同意后才进行OAID的读取。
1. 实现隐私弹窗
首先,在应用的启动页面或适当位置添加隐私弹窗逻辑。这里使用uni-app的uni.showModal
方法来实现一个简单的弹窗。
// 在app.js或页面脚本中
uni.showModal({
title: '隐私政策',
content: '为了提供更个性化的服务,我们需要获取您的OAID。请点击同意继续。',
success: function (res) {
if (res.confirm) {
// 用户点击同意,尝试获取OAID
getOAID();
} else if (res.cancel) {
console.log('用户点击取消');
// 处理用户拒绝的逻辑,比如退出应用或限制部分功能
}
}
});
2. 获取OAID
由于OAID的获取依赖于各厂商提供的SDK,这里以华为、小米、OPPO、VIVO等主流厂商的OAID获取为例(具体实现需参考各厂商的SDK文档)。由于uni-app没有直接封装这些功能,通常需要通过原生插件或JSBridge来实现。以下是一个伪代码示例,说明如何在用户同意后调用原生方法获取OAID。
function getOAID() {
// 假设已经封装了原生插件或JSBridge
// 这里使用promise模拟异步调用
uni.requireNativePlugin('OAIDPlugin').getOAID().then(function (result) {
if (result.success) {
console.log('OAID获取成功:', result.data);
// 保存OAID到本地或进行其他处理
} else {
console.error('OAID获取失败:', result.error);
// 处理获取失败的情况
}
}).catch(function (error) {
console.error('获取OAID时发生错误:', error);
});
}
注意事项
- 原生插件开发:上述
OAIDPlugin
是一个假设的插件名称,实际开发中需要根据各厂商的SDK开发相应的原生插件。 - 隐私政策:确保应用中包含详细的隐私政策,并在弹窗中提供访问隐私政策的链接。
- 用户教育:清晰地向用户解释OAID的用途和重要性,增加用户同意的意愿。
- 适配不同厂商:不同厂商对于OAID的获取方式和权限要求可能不同,需仔细阅读各厂商的文档并进行适配。
通过上述步骤,可以在uni-app中实现合规的OAID获取流程,提高应用在荣耀、VIVO等手机厂商平台的审核通过率。