Android应用程序检查播放完整性不工作



以前,我习惯通过安全网检查申请。然后,当通过电话号码登录时,出现错误这个请求缺少一个有效的应用程序标识符。我开始理解并阅读通过Play Integrity使用应用程序检查。我开始尝试,错误是一样的。现在我既不能打开Play Integrity,也不能关闭所有的验证方法。误差是一样的。我看了论坛,做了所有的设置和建议。但无济于事。请告诉我,也许在这方面有更多的想法或成功的实践。

implementation 'com.google.firebase:firebase-appcheck-debug:16.0.0'
implementation 'com.google.firebase:firebase-appcheck-playintegrity'
<<p>初始化/strong>
if (BuildConfig.DEBUG) {
Timber.plant(Timber.DebugTree())
FirebaseApp.initializeApp(/*context=*/this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
DebugAppCheckProviderFactory.getInstance()
)
} else {
FirebaseApp.initializeApp(/*context=*/this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
PlayIntegrityAppCheckProviderFactory.getInstance()
)
}

所有签名已添加到FB项目(调试,发布,存储)SHA-1和SHA-256。

包括以下api:

  • Android设备验证
  • Firebase App Check API
  • Firebase安装API
  • Google Play Integrity API
  • Identity Toolkit API
  • 令牌服务API

还缺少什么?

SafetyNet将继续工作一年。因此,暂时的解决方案将是继续使用SafetyNet,直到API得到修复更新。根据谷歌发给在其应用程序中使用SafetyNet的开发者的电子邮件,SafetyNet的关闭日期为2024年6月30日。

更新:我刚刚意识到应用程序检查与播放完整性已经工作!你只需要从Play Store下载应用程序。否则它将不接受您的连接。您可以使用内部测试快速进行测试。此外,您还可以在模拟器上测试应用程序检查调试令牌。

您可能需要通过在Play控制台启用它来设置Play Integrity API(请参阅官方文档中的详细信息)。

请确保您使用的是更新版本的Firebase依赖项,因为其中一些依赖项是在引入Firebase App Check后更新的。实现这一目标的最佳方法是使用Firebase Android BoM并删除app/build.gradle中所有Firebase依赖的版本。另一件要检查的事情是你是否包含了最新的谷歌服务。从Firebase控制台安装。项目设置->Android应用程序。

关于在调试提供程序中使用App Check,请确保在Firebase控制台中包含所有测试/调试设备的调试令牌。同样基于我之前的观点,删除":16.0";

根据官方网站,Firebase目前只允许Play Integrity API App Check通过Play Store分发的应用(链接).

所以,如果你想在Firebase中使用Android的App Check,你有两个选择——要么上传你的应用到Play Store,要么使用自定义App Check提供商

PS:有可能在Firebase中集成Play Integrity API,用于使用自定义提供商而不是通过Play Store分发的应用程序。

对于调试提供程序,你需要运行应用程序,它将在info通道的日志中打印一个调试令牌-这个令牌必须插入Firebase: Build>App Check>[app package]>3点菜单>管理调试标记>添加令牌请注意,这个令牌可能会因每个应用程序安装/设备等而不同,因此它将需要在firebase控制台为您的设备/团队提供更多令牌

对于Integrity provider,你的应用必须在Play Store上发布(用于初始化测试的封闭测试渠道),并且它必须与FB上的适当项目相连接:发布>诚信比;与项目对接。你还应该注意签名指纹——如果你的应用是用Google密钥签名发布的,你将不得不在Firebase上更新指纹

最新更新