Google 开发人员控制台发布前报告的安全选项卡中的安全警告

Security warning in Google developer console Pre-launch report's security tab

最近,我在 Google 开发者控制台的发布前测试报告的安全选项卡中收到安全警告。这是问题:

发送设备标识符 在 APK(APK 列表)中检测到... 您的应用正在使用设备标识符(IMEI、MAC 地址、Build Serial 等)并将标识符数据发送到远程网络地址。 此问题通常(但不仅限于)在使用过时的广告 SDK 的应用程序中发现。 要停止接收此警告,请尝试更新或更改应用中可能使用设备标识符的任何 SDK 或代码。 发送设备标识符不是大多数用例的最佳做法,如果您将此标识符用于广告目的,这可能违反 Google Play 政策,并可能影响您的应用在 Play 商店中的可见度。要获得有关您的应用如何使用标识符的建议,请了解唯一标识符最佳做法。

我在我的项目中使用 Appsflyer sdk 来注册用户事件、跟踪安装和卸载等,为此我也使用最新的 sdk。当我删除此 sdk 时,安全问题不会显示在预发布报告中。 当我联系 Appsflyer 支持团队时,他们提到不要使用通过他们的 API 调用发送 IMEI 和 Android Id 数据的功能,我一开始就没有包括在内。并且也不包括 READ_PHONE_STATE 权限,我将其删除并再次上传到 Play 商店,这导致了安全问题。

他们还确保必须收集至少一个设备标识符、GAID、Android ID 或 IMEI,以便进行正确归属。 在他们较新的 SDK 版本中,GAID 或 Google AID 是自动收集的,不需要我执行任何特定操作。

这是安全警告的原因吗?

感谢任何帮助。提前致谢。

我联系了 AppsFlyer 的支持团队,他们解决了我的问题,解决方案基本上是删除 IMEI 的记忆,这个选项似乎默认启用,这是通过放置来完成的:

AppsFlyerLib.getInstance().setCollectIMEI(false);

就在 Appsflyer.startTracking 调用 MainActivity 的 OnCreate 之上(或者在应用程序中放置 startTracking 调用的任何地方)

在我的例子中,我使用的是细分整合,所以我把它放在这条线的正上方:

Analytics.setSingletonInstance(analyticsBuilder.build());

希望这对您有所帮助,否则我建议您联系支持团队,他们回复我的速度非常快