使用的广告插件是flutter_unionad,正常配置了androidAppId,在用户同意隐私后才进行插件的注册,上架小米、vivo、阿里、百度这些应用商店都没问题,唯独oppo和荣耀在隐私这一块过不去,还有一个华为比较奇葩,上传的明明是安卓应用,他们驳回的是鸿蒙机子无法安装。
oppo应用商店被拒的原因是:
APP、SDK非服务所必需或无合理应用场景,特别是在静默状态下或 在后台运行时,超范围收集个人信息的行为
隐私检测机审报告.pdf里的检测详情是:
(1)第三方SDK以特定频率、超频次获取相关信息或者APP首次运行时,未到相关服务和场景 提前收集相关信息
一直搞不明白这是啥意思,有没有经历过的大神指导一下,拜托拜托。
荣耀商店被拒的理由是:
1.您提交的应用隐私检测未通过,经过检测发现以下隐私相关的问题:
(1)APP未见向用户明示SDK的收集使用规则,未经用户同意,SDK存在收集((SDK: 穿山甲广告SDK) 读取OAID)等信息的行为,非服务所必需且无合理应用场景,超出与收集个人信息时所声称的目的具有直接或合理关联的范围。
建议您采取以下措施进行整改:
(1)APP向用户明示第三方SDK处理IMEI、IMSI、设备MAC地址、软件安装列表、位置、联系人、通话记录、日历、短信、本机电话号码、图片、音视频等个人信息的目的、方式和范围,第三方SDK收集相应个人信息时不应超出其所明示收集目的的合理关联范围。
根据荣耀的这个报告来看,明显是没经过同意就收集OAID的,但是奇怪的是在没同意之前我是没有注册穿山甲这个广告插件的,而且其他平台也测试通过。
为什么呢?
解决方案
首先,记录当前的 Flutter 版本为 3.19.3,方便后续恢复。
然后降级到 Flutter 3.16.2,具体的 git 版本为 9e1c857886f07d342cf106f2cd588bcd5e031bb2。
降级后,某些新插件可能无法使用。为了快速解决问题,可以尝试在3.19.3版本中修改源码:
在 Flutter 层修改 editable_text.dart 文件,路径为 /flutter/packages/flutter/lib/src/widgets/editable_text.dart。
将相关初始化代码注释掉,这样引擎在启动时就不会自动初始化。
// 文件:/flutter/packages/flutter/lib/src/widgets/editable_text.dart
// 注释掉相关的初始化代码
在修改代码后,可以使用Appuploader这款iOS开发助手工具进行测试打包。Appuploader提供了便捷的打包和测试功能,可以帮助开发者快速验证修改效果。
修改完成后,重新打包并提交审核。经过测试,问题解决,审核通过!