报告了与17.0.0版本相关的严重问题。谷歌Play警告

67

发布我的应用程序时,我收到了以下警告:

play-services-safetynet(com.google.android.gms:play-services-safetynet)的开发者报告了与版本17.0.0有关的严重问题。在发布新版本之前,请考虑升级。

这是 SDK 开发人员告诉我们的信息: SafetyNet Attestation API 将被停用,并由新的 Play Integrity API 取代。尽快开始迁移以避免用户受到影响。Play Integrity API 包括所有的安全性信号以及更多功能,如 Google Play 许可和更好的错误消息。请访问https://developer.android.com/training/safetynet/deprecation-timeline了解更多并开始迁移。

如何解决关键问题并使我的应用程序投入生产?


8
我也收到了这个警告,尽管我在代码中没有使用safety net。这是我第一次听说它的存在。 - mathematics-and-caffeine
21
Firebase-Auth似乎正在使用com.google.android.gms:play-services-safetynet - Deepak Goyal
我也遇到了同样的警告,但实际上我的代码中并没有safetynet。我正在使用Firebase-Auth,所以可能是从那里来的。有没有一种方法可以解决这个问题而不是仅仅排除它? - Dennis Ashford
我也遇到了同样的问题,我的应用程序在安装后崩溃了。我使用的是firebase-auth而不是safetyNet。有没有针对react-native的解决方法? - Rajat.r2
3
我的Flutter应用程序也收到了这个警告。但是这个应用程序会带着这个警告发布吗?审核时间真的很长。 - kragekjaer
显示剩余2条评论
2个回答

19
SafetyNet 是 Google Play Services 提供的一组 API,用于确保应用程序在安全环境下运行。这是对应用程序开发人员来说可选的,应用程序开发人员可以选择使用它或不使用。SafetyNet 可以防止应用程序在已经被 root、被篡改、运行自定义 ROM 或感染恶意软件的设备上工作,除非应用程序的开发人员允许它运行。点击此处 SafetyNet 详细了解。
银行应用程序、Snapchat 和 Netflix 等应用程序就是使用 SafetyNet 来检测您的设备是否已经被 root,并阻止您访问这些功能的例子。
对于那些使用 SafetyNet 的应用程序: 2022 年 6 月,谷歌宣布我们应尽快与 Play Integrity API 集成。Play Integrity API 包括所有 SafetyNet Attestation 提供的完整信号和更多内容。截至目前,SafetyNet Attestation 将继续为您的应用程序工作。 2023 年 6 月底,已迁移到新 API 的开发人员将能够继续在旧版本的应用程序中使用旧版的 SafetyNet Attestation,但那些未迁移的开发人员将无法这样做。 2024 年 6 月底,谷歌表示 SafetyNet Attestation 将被彻底取消。

1
我也遇到了同样的问题,我的应用在安装后崩溃了。我使用的是 firebase-auth 而不是 safetyNet。有没有针对 React Native 的解决方法? - Rajat.r2
这不会导致应用程序崩溃,因为您没有使用safetyNet。因此,它只是因为firebase使用与之相关的一些代码而向您显示警告。最好使用crashAnalytics来调试实际崩溃原因。 - Gaurav Singh
1
好的。我为Play Store创建了 .aab 文件,然后从捆绑包资源管理器下载了应用程序。这个 APK 崩溃了。但我也有没有更改的发布版本的 APK,它可以正常工作。不知道 Play Store 转换的 .aab 文件为什么不能正常工作。 - Rajat.r2

14
如果你没有在任何地方使用安全网,只需按照以下更改您的代码。
implementation platform('com.google.firebase:firebase-bom:30.2.0')
    implementation 'com.google.firebase:firebase-core'
    implementation('com.google.firebase:firebase-auth') {
        exclude module: "play-services-safetynet"
    }

2
我目前只在Firebase身份验证中找到了它。 - sukhbeer
39
为什么排除该模块会是解决方案呢?毕竟我们应该从谷歌获取最新的 Firebase Auth SDK,因为这是他们的产品在使用他们的产品,对吧? - Pieter van der Vyver
4
@PietervanderVyver 我希望在更新的 Firebase Auth SDK 中能够解决这个问题,但目前我只有这个解决方案。 - sukhbeer
4
当我添加这个功能时,它没有向手机号码发送一次性密码。出现了错误提示。因此,我现在把它移除了,现在它可以正常工作。但对于我的手机验证来说无法使用。 - vignesh
32
请勿将安全网模块从身份验证库中删除,否则可能会破坏代码。暂时忽略警告。此警告只是 Firebase 和 Google 团队之间的一种误解。Firebase Auth 在内部使用了已弃用的 SafetyNet Attestation API,他们需要执行迁移而不是我们。 https://github.com/firebase/firebase-android-sdk/issues/3890 - Harshal Pudale
显示剩余10条评论

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