Play Store警告:play-services-safetynet(com.google.android.gms:play-services-safetynet)报告了与版本17.0.0相关的关键问题。

23

我在尝试在play商店更新我的Flutter时,收到了这个警告。

The developer of play-services-safetynet (com.google.android.gms:play-services-safetynet) has reported critical issues with version 17.0.0. Consider upgrading before publishing a new release.

Here's what the SDK developer told us:
The SafetyNet Attestation API is being discontinued and replaced by the new Play Integrity API. Begin migration as soon as possible to avoid user disruption. The Play Integrity API includes all the integrity signals that SafetyNet Attestation offers and more, like Google Play licensing and better error messaging. Learn more and start migrating at https://developer.android.com/training/safetynet/deprecation-timeline

我的build.gradle文件中没有使用safe-net实现,可能是某个第三方插件在使用它,但我尝试了flutter upgrade来确保更新所有包,但仍然从Play商店收到此关键警告。如果有人有解决方案,请告诉我。提前致谢。

这是我的pubspec.yaml实现:

  cupertino_icons: ^1.0.2
  get: ^4.6.1
  path_provider: ^2.0.2+1
  get_storage: ^2.0.3
  file_picker: ^4.5.1
  cached_network_image: ^3.2.1
  shimmer: ^2.0.0
  introduction_screen: ^3.0.2
  json_serializable: ^6.1.4
  flutter_screenutil: ^5.0.0+2
  url_launcher: ^6.0.5
  google_fonts: ^2.3.1
  carousel_slider: ^4.0.0
  fluttertoast: ^8.0.8
  change_app_package_name: ^1.0.0
  font_awesome_flutter: ^10.1.0
  photo_view: ^0.13.0
  new_version: ^0.2.2
  shared_preferences: ^2.0.13
  bottom_bar: ^2.0.0
  intl: ^0.17.0
  http: ^0.13.4
  pull_to_refresh: ^2.0.0
  connectivity_plus: ^2.3.5
  image_picker: ^0.8.5+3
  syncfusion_flutter_pdfviewer: ^20.1.61-beta
  vdocipher_flutter: ^1.0.0-beta.6
  webview_flutter: ^3.0.4
  get_cli: ^1.8.1
  flutter_linkify: ^5.0.2
  flutter_countdown_timer: ^4.1.0
  webview_flutter_plus: ^0.3.0+2
  flutter_downloader: ^1.8.0+1  #integrate for ios also
  android_path_provider: ^0.3.0
  device_info_plus: ^4.0.0
  permission_handler: ^10.0.0
  open_file: ^3.2.1
  package_info_plus: ^1.4.2

参考图片: 在此输入图片描述


1
我也看到过这个问题,但它似乎是与 Firebase 和其他一些 Google 库捆绑在一起的,所以如果你从那里获取它,你真的无法做任何事情... 我认为可以安全地忽略它。 - Tyler V
1
有些人说,上传新版本后因此被拒绝。 - Carlos Peñaranda
即使有这个警告,它仍然会被发布吗?审核时间太长了吗? - kragekjaer
是的,您可以发布,而且审核时间不会太长。 - MANISH
4个回答

20

com.google.gms:google-services 包含了 SafetyNet API。在 gg services 最新的 4.3.13 版本中,可以看到它包含了 safetyNet ver 18.0 并且是正常的。

https://developers.google.com/android/guides/setup#list-dependencies 如何禁止 "避免使用捆绑版 Google Play 服务 SDK" 警告? https://developers.google.com/android/guides/releases

更新时间: 2022年10月13日

谢谢!


2
从https://developers.google.com/android/guides/releases来看,最新版本截至今日为4.3.13,而不是4.4.13。 - Tobechukwu Ezenachukwu
9
我尝试过这个,但它不起作用。 - Doing Things Occasionally
@DoingThingsOccasionally 也许你的问题与Firebase身份验证有关。我更新了我的答案,附上了问题链接和官方回复。请查看,谢谢! - Quyen Anh Nguyen
@QuyenAnhNguyen,与Firebase身份验证相关的safetynet问题仍未解决,因为我可以看到该问题仍然在GitHub上保持开放状态。除了上述提到的解决方案,您是否找到任何解决方法? - Rahul Pandey
天啊,在读了Github谷歌团队的一些评论后,他们似乎真的不太相互交流,现在最好的答案是他们相信他们会在迁移截止日期前找到解决方案!!! - tamegajr
显示剩余5条评论

7

我曾遇到与 Firebase Auth 库中的 Google Play 相关的问题。不幸的是,它没有更新 Safetynet 模块版本的选项。因此,我必须找到一种可行的方法将该模块从我的项目中排除。

这就是我的情况:

dependencies {
    implementation platform('com.google.firebase:firebase-bom:30.3.2')
    implementation 'com.google.firebase:firebase-auth'
}

在我的项目中,最好的选择是从所有库中排除safetynet模块。不知何故,单独的库排除无法生效。
dependencies {
    implementation platform('com.google.firebase:firebase-bom:30.3.2')
    implementation 'com.google.firebase:firebase-auth'
}
configurations.all {
    exclude group: 'com.google.android.gms', module: 'play-services-safetynet'
}

上述解决方案适用于任何具有该问题的项目,无论实际包含safetynet模块的库是什么。

对于任何有兴趣的人,以下是在Android Studio终端中检查项目依赖项的简易命令(这将把它们写入txt文件以更轻松地阅读):

./gradlew app:dependencies > dependencies.txt

我在Firebase Auth上遇到了同样的问题。我尝试了这个方法,虽然在Google Play控制台中不再显示错误,但却导致应用程序完全崩溃。它说找不到该模块。 - Code Master
1
这完全取决于你的实现。如果你使用的 Firebase Auth 的某个部分需要 SafetyNet,那么这将无法工作。那么忽略警告的选项可能是最适合你的。对我来说,这很有效,因为我的大多数应用程序仅使用电子邮件认证。 - Tommy
我不使用电话验证,只使用电子邮件验证和Google登录,但是Google登录不使用SafetyNet API,对吗? - Code Master
2
好的,我现在暂时忽略这个警告,等待 Firebase 迁移完成。 - Code Master

2

更新-2023年3月28日

发布 Firebase Auth 21.2.0(BoM 31.4.0),增加了对电话验证中的Play完整性的支持 https://firebase.google.com/support/release-notes/android#auth_v21-2-0

然而,根据最新评论:https://github.com/firebase/firebase-android-sdk/issues/3890#issuecomment-1488368740

But I still see the warning in the Play console.
=> That's because the SafetyNet SDK is still being used as a fallback.We plan to completely remove the SafetyNet SDK in a future release - I will post a new comment to this thread when that happens.

我想知道我的 Firebase 控制台>App Check 中是否未启用 Play 完整性 API。如果忽略此警告,在使用我的应用程序(使用电话身份验证方法)时,是否会导致任何阻塞/问题?


0

Firebase Authentication库本身导入了SafetyNet Attestation API以供内部使用。

在最新版本的Firebase Authentication 22.0.0中,他们已经移除了SafetyNet Attestation API,现在使用Play integrity

因此,请更新您的Authentication库版本,或者如果使用Firebase BOM,则将版本更新为32.0.0或最新版本。


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