打开android studio并单击右上角的gradle>单击您的项目>选择应用程序>选择任务>选择android>单击签名报告>从那里复制我们的SHA1和SHA-256。
在您的新 Firebase 帐户中添加 SHA1 和 SHA-256 。
在build.gradle(:app)中添加依赖
实现'androidx.browser:浏览器:1.3.0'
进入谷歌云控制台,选择您的项目。
单击导航菜单并选择 API 和服务,然后选择仪表板。
单击启用 api 和服务并启用 api“Google Play Integrity API”。
下载并替换项目中最新的 google-services.json 文件。
清理并重建项目。
检查您是否已完成项目中的所有 7 个步骤。如果您的应用程序已在 Plays 商店中上线,请确保您的 Firebase 项目也已发布 SHA1 密钥。有关发布和调试密钥的更多信息,您可以查看。 这个
发生这种情况是因为 Firebase 需要验证电话号码登录请求是否来自您的应用。为此,它使用SafetyNet或reCAPTCHA验证。根据 documentation,如果用户没有 Google Play 服务支持(以及在其他情况下),则会打开浏览器屏幕以进行验证码验证。只有验证成功后,才会发送 OTP。
因此,要启用 SafetyNet 和 reCAPTCHA 验证,请按照以下步骤操作:
前往Google Cloud Platform并启用Android设备验证。
打开终端并运行
keytool -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore
(对于 Windows,请将 ~ 替换为您的用户个人资料地址)
当要求输入密码时,输入“android”(不带引号)。
复制终端上打印的 SHA1 和 SHA256 证书指纹。
转到 Firebase 控制台中的“设置”,然后在“SHA 证书指纹”列下添加两个指纹。确保没有终端空格(否则将给出无效字符串错误)。
从 Firebase 控制台设置下载最新的 google-services.json 并替换项目中的旧版本。
在应用级build.gradle添加以下依赖(因为需要打开浏览器进行验证码验证)
implementation 'androidx.browser:browser:1.3.0'
注意:请记住,打开 Google Cloud Platform 后选择的项目是您关注的 Firebase 项目。如果您的项目没有显示在打开的屏幕上,请单击“选择项目”,转到“全部”选项卡,然后选择您的项目。
如果您从 Play Console 使用 Play 应用签名,则需要进入“发布”>“设置”>“应用完整性”>“应用签名”,复制 SHA-1/SHA-256 证书指纹并将其粘贴到 Firebase 控制台 > 您的应用 > 选择应用 > SHA证书指纹 > 添加指纹
这是因为 SHA 密钥。
添加调试密钥 + 添加发布密钥到您的 Firebase 应用程序中。
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation 'com.google.firebase:firebase-core:17.0.0'
implementation 'com.google.firebase:firebase-appcheck-safetynet:16.0.0-beta05'
implementation "org.jetbrains.kotlin:kotlin-reflect:1.6.10"
implementation 'androidx.browser:browser:1.3.0' <*** add this line ***>
implementation platform('com.google.firebase:firebase-bom:29.3.0')
implementation 'com.google.firebase:firebase-auth'
implementation 'com.google.android.gms:play-services-safetynet:18.0.1' <*** add this line ***>
}
keytool -list -v \ -alias androiddebugkey -keystore ~/.android/debug.keystore
Firebase 应用程序控制台和 SafetyNet 选项卡上的 SHA1 和 SHA-256
您应该在依赖项 android/app/build.gradle 中添加安全网实现 依赖项{ ... 实施“com.google.firebase:firebase-appcheck-safetynet:16.0.0-beta04” }
我正在使用 Expo EAS 构建我的应用程序,但我没有 android 文件夹。我收到这个警告。有人知道我该如何解决这个问题吗?