如何在Android上启用SafetyNet设备检查API的确切步骤是什么?

9

我已经在我的Android应用程序中整合了Firebase电话验证。 它运行良好,快2个月了,但最近的2-3天我注意到了不同的行为。

Capcha屏幕开始出现。 之前我没有启用safetynet设备检查API。 查看Firebase文档后,我尝试启用safetynet设备检查。

由于步骤不清楚,因此我不确定是否做得正确。 我也不清楚Firebase和Google Cloud是如何关联的。 Firebase如何知道要链接到哪个Google Cloud项目..

之前流程是... 手机验证->接收短信->自动验证短信并登录用户。 现在的流程是... 手机验证-> Capcha屏幕出现(加载了一种网页)... -> 过一段时间Capcha屏幕会自动关闭 -> 收到SMS -> OTP验证后登录。

请告诉我如何避免Capcha屏幕。 如果Capcha屏幕突然出现,我肯定会失去很多用户。

3个回答

11

步骤1:使用此链接进入Google云控制台,并为您的项目启用Android设备验证。

步骤2:在Firebase控制台的设置页面中添加SHA-256指纹。下载并替换最新的google-services.json文件。


根据在 https://github.com/invertase/react-native-firebase/issues/4540 分享的信息,看起来这是在 Firebase 库版本 26.0.0 中引入的问题。它在库版本 25.13.0 中可以正常工作。 - Anajaleena Oliver
我也遇到了同样的问题。即使启用了设备检查API,它仍然会将我带到浏览器进行reCAPTCHA流程。我正在使用firebase-bom:26.2.0。 - Chan Myae Aung
@ItayFeldman,你找到问题的答案了吗?我也卡在同样的问题上了。 - Braj
@gowtham6672 是的,它应该会自动在Google控制台的项目列表中显示Firebase项目,然后您可以在您的项目中启用API。无需添加任何额外的API密钥。 - Itay Feldman
谢谢@gowtham6672,我在将SHA-256指纹添加到Firebase后忘记替换google-services.json文件了。 - Sumit Monapara
显示剩余6条评论

6
根据Firebase的说法,reCAPTCHA流程只会在以下情况下触发:
a. 当SafetyNet不可用时。
b. 如果用户不支持Google Play服务。
c. 当您在模拟器上测试应用程序时。
d. 您的设备未通过怀疑检查(如果您的设备启动加载程序已解锁或设备已取得root权限)。
要启用SafetyNet,请按以下步骤操作,或者您也可以访问Firebase Auth了解更多信息。
  1. 转到Google Cloud控制台,选择您的项目。

  2. 单击导航菜单,选择API和服务,然后选择仪表板。

  3. 单击启用API和服务并启用“Android设备验证”API。

  4. 在Firebase项目设置中添加SHA 256。(调试和发布都需要)

  5. 下载并替换项目中最新的google-services.json文件。


1
感谢您提供有关引导加载程序的信息。 - Hazem Monir

2
  1. 进入Google云控制台,选择您的项目并启用Android设备验证 google cloud console

  2. 进入您的项目目录并粘贴以下内容

cd android && ./gradlew signingReport

  1. Task :app:signingReport 中复制SHA256和SHA1

  2. 进入firebase console,进入您的项目->项目设置->选择您的应用程序->点击添加指纹并粘贴您的SHA256和SHA1


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