谷歌开发者控制台中的安全警告:Pre-launch报告的安全选项卡

4
最近,在上传apk后,我在Google开发者控制台的Pre-launch报告的安全选项卡中收到了一个安全警告。问题如下:
发送设备标识符 检测到APK(APK列表)中的设备标识符... 您的应用正在使用设备标识符(IMEI、MAC地址、Build Serial等),并将标识符数据发送到远程网络地址。 这个问题通常(但不仅限于)出现在使用过时广告SDK的应用程序中。 要停止接收此警告,请尝试更新或更改应用程序中可能使用设备标识符的任何SDK或代码。 对于大多数用例发送设备标识符不是最佳实践,如果您正在使用此标识符进行广告宣传,则可能违反Google Play政策,并影响您的应用在Play商店上的可见性。获取关于应用程序如何使用标识符的建议,请了解唯一标识符的最佳实践。
我在我的项目中使用Appsflyer sdk来注册用户事件、跟踪安装和卸载等,并且我也使用了最新的SDK。当我删除这个SDK时,预发布报告中就不会显示安全问题。 当我联系Appsflyer支持团队时,他们提到不要使用发送IMEI和Android Id数据的功能来使用他们的API调用,而我一开始没有包含这些内容。同时,不要包含READ_PHONE_STATE权限,我已经将其删除,并重新上传到Play商店,但结果仍然出现了安全问题。
他们还确保至少收集一个设备标识符(GAID、Android ID或IMEI),以便进行正确的归因。 在他们的新SDK版本中,GAID或Google AID会自动收集,不需要我采取任何特定的行动。
这是安全警告的原因吗?
感谢您的帮助。提前致谢。

我不确定这是否对你有所帮助(只是希望你知道这不是你项目的特定问题)。我遇到了与你完全相同的问题。我将向支持发送消息,看看是否有任何方法可以自行解决此问题(我认为这是不可能的)。这是我的集成版本:com.appsflyer:segment-android-integration:1.9顺便说一句,非常感谢您创建了这个线程,这样每个遇到这个问题的人就不用花费数小时进行调试了!这是一个伟大的贡献。 - Rodrigo Juarez
1个回答

4
我联系了AppsFlyer的支持团队,他们解决了我的问题,解决方案基本上是去除IMEI的收集,这个选项似乎默认启用。这可以通过以下代码实现:

AppsFlyerLib.getInstance().setCollectIMEI(false);

只需将此代码放置在MainActivity的OnCreate中(或者您在应用程序中放置startTracking调用的任何位置)的Appsflyer.startTracking调用之前即可。 在我的情况下,我正在使用段落集成,所以我将其放置在以下行的正上方:

Analytics.setSingletonInstance(analyticsBuilder.build());

希望这会对您有所帮助,否则建议您联系支持团队,他们回复得非常快。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接