DCloud_Android_zl
DCloud_Android_zl
  • 发布:2024-06-17 20:49
  • 更新:2024-12-25 10:19
  • 阅读:6254

关于上架vivo应用市场隐私不合规并提示在静默、后台状态下,APP存在收集“OAID”等信息的行为。

分类:uni-app

关于上架vivo应用市场隐私不合规并提示在静默、后台状态下,APP存在收集“OAID”等信息的行为。参考:

APP在运行时,存在以下违规行为:  
1、未见向用户告知且未经用户同意,在静默、后台状态下,APP存在收集“OAID”等信息的行为,非服务所必需且无合理应用场景,超出与收集个人信息时所声称的目的具有直接或合理关联范围

首先需要明确DCloud不会在后台或静默状态下违规收集任何信息。

经过与按照本文档修改之后但是隐私检测仍然不通过的开发者交流,目前确认是vivo的应用安全检测平台的误报。以下是vivo客服给到的回复。

由于涉及到vivo的内部流程,具体问题及原因vivo并没有对我们透露。

如果已经按照本文档修改之后提交检测仍然提示APP请求携带OAID的,可以直接联系vivo的人工客服或者发送邮件到open@vivo.com

针对上述问题,目前已经确定的情况有:

1. uniCloud请求携带OAID

如果使用了uniCloud的话,云函数的头信息会包含getSystemInfo里的值,所以也包含了oaid,但这个是发送到你的uniCloud服务器地址的,不是发给DCloud服务器。

但因为每次uniCloud请求都会发送,触发了vivo提到的频繁采集采集。

在头信息里包含太多getSystemInfo信息确实没必要。目前已经发布了HBuilderX 4.21版本,请升级后重现打包。

新版默认减少了头信息内容,然后给开发者提供自定义uniCloud头信息的方式。

不想升级的用户,也可以用下面的临时方案,将附件内的文件替换到HBuilderX的如下位置:HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js 重新打包。

注意:需要先升级到最新的HBuilderX之后按照上述内容替换文件,最后重新打包。

如果oaid对你比较重要,头信息里的oaid在你的业务中被你使用了,还有一种策略,是配置安全网络,这会让app和uniCloud之间的所有传输数据加密。也可以阻止三方识别。

2. uni统计会上报oaid

如果你的app开启了uni统计1,访问域名是tongji.dcloud.io。也会上报oaid。如果想准确统计有多少用户设备,那么oaid是不可或缺的。

目前的可选方案有:

  1. 先在manifest里去掉uni统计1,然后打包apk,把新的apk提交给vivo试一下。暂时放弃vivo上的统计数据。
  2. 改用uni统计2
  3. 和vivo客服pk。见上图聊天记录,vivo承认检测有误。

3. 个推

HBuilder X于4.11版升级过个推SDK,解决了在静默状态下频繁手机隐私信息的问题。

请确保提测的安装包版本是用HBuilder X 4.11之后的版本提交打包的。

另外注意一键登陆也是个推的

如果堆栈信息表中的代码所属字段仍然存在个推,可以微信扫码联系个推客服。

4. 其他SDK或者原生插件

针对其他SDK或者原生插件,可以参考堆栈信息表中的代码所属字段联系对应的SDK公司。

比如有的堆栈里显示了友盟的sdk,再比如使用了原生插件,需要排查这些原生插件的行为。

  • 最后也需要注意自己的隐私协议

如果给自己的服务器(不管是不是uniCloud)发送敏感设备信息,需要在隐私协议里披露清楚。

使用三方sdk时,检测到有堆栈调用,不代表有问题。只要隐私协议写清楚,也是允许三方sdk采集的,只是要注意频繁采集的问题。

0 关注 分享

要回复文章请先登录注册

z***@163.com

z***@163.com

回复 diancheziyuan :
您好请问你怎么和客服说的
2024-12-25 10:19
z***@163.com

z***@163.com

回复 2***@qq.com :
你解决了吗
2024-12-25 10:14
1***@qq.com

1***@qq.com

我试了还是不行 提交应用宝还是被驳回 有其他办法么
2024-10-16 10:57
YIrui

YIrui

你好,我这块vivo给的报告说的是,再打开app以后,但是用户还未同意隐私政策时,MSA移动安全联盟SDK存在收集OAID的行为,这个是要去掉什么权限吗
2024-09-13 16:52
火烈鸟

火烈鸟

回复 DCloud_Android_zl :
感觉还有问题,我也是最新版本4.24,替换了,还是不行被打回来了。不是个推也不是统计,就是第一种情况,怎么处理呀
2024-09-06 13:35
1***@qq.com

1***@qq.com

回复 1***@qq.com :
4.23自检过了,提交审核,不清楚会不会过,有点离谱
2024-09-05 17:05
1***@qq.com

1***@qq.com

hx版本4.24,依然无法过审
2024-09-05 15:53
BeforeMount

BeforeMount

不想升级的用户,也可以用下面的临时方案,将附件内的文件替换到HBuilderX的如下位置:HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js 重新打包。

注意:需要先升级到最新的HBuilderX之后按照上述内容替换文件,最后重新打包。
这个是什么意思 又不想升级 又要升级到最新
2024-09-04 15:15
DCloud_Android_zl

DCloud_Android_zl (作者)

回复 2***@qq.com :
如果都是按照上面配置的,有问题就需要联系客服了
2024-08-28 15:57
2***@qq.com

2***@qq.com

已经去除统计,依然不过
java.lang.Exception
at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(Native Method)
at dc.squareup.okio.Okio$2.read(Unknown Source:4)
at dc.squareup.okio.AsyncTimeout$2.read(Unknown Source:3)
at dc.squareup.okio.RealBufferedSource.indexOf(Unknown Source:16)
at dc.squareup.okio.RealBufferedSource.readUtf8LineStrict(Unknown Source:2)
at dc.squareup.okhttp3.internal.http1.Http1Codec.readHeaderLine(Unknown Source:1)
at dc.squareup.okhttp3.internal.http1.Http1Codec.readResponseHeaders(Unknown Source:6)
at dc.squareup.okhttp3.internal.http.CallServerInterceptor.intercept(Unknown Source:48)
at dc.squareup.okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:23)
at dc.squareup.okhttp3.internal.connection.ConnectInterceptor.intercept(Unknown Source:10)
at dc.squareup.okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:23)
at dc.squareup.okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:1)
at dc.squareup.okhttp3.internal.cache.CacheInterceptor.intercept(Unknown Source:41)
at dc.squareup.okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:23)
at dc.squareup.okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:1)
at dc.squareup.okhttp3.internal.http.BridgeInterceptor.intercept(Unknown Source:65)
at dc.squareup.okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:23)
at dc.squareup.okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Unknown Source:21)
at dc.squareup.okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:23)
at dc.squareup.okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:1)
at dc.squareup.okhttp3.RealCall.getResponseWithInterceptorChain(Unknown Source:16)
at dc.squareup.okhttp3.RealCall.execute(Unknown Source:10)
at io.dcloud.feature.weex.adapter.DCWXHttpAdapter$1.run(Unknown Source:63)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
2024-08-28 13:23