Firebase手机验证OTP实现报错:INVALID_APP_ID问题求助
针对你遇到的Firebase手机验证码验证时出现的INVALID_APP_ID和17093错误,结合你已完成的配置,可尝试以下排查步骤:
排查解决步骤
重新下载替换google-services.json
即便你已使用该文件多年,但在添加SHA-1/SHA-256签名后,必须从Firebase控制台重新下载最新的google-services.json文件,替换项目中的旧文件。确保文件内的certificate_hash字段和你添加的签名指纹完全匹配。核对签名指纹的准确性
用命令行重新生成当前构建包的签名指纹,和Firebase控制台内的记录逐一对比:keytool -list -v -keystore 你的密钥库路径注意区分debug和release版本的密钥库,Android Studio默认debug密钥库路径为
~/.android/debug.keystore,密码是android。确认应用包名完全匹配
检查Firebase控制台中注册的应用包名,和项目build.gradle(Module级别)内的applicationId完全一致,包括大小写,不能有任何拼写错误。清理项目缓存并重新构建
执行Android Studio的File -> Invalidate Caches... -> Invalidate and Restart,之后依次执行Clean Project和Rebuild Project,避免缓存导致配置不生效。验证Play Integrity API配置(若已启用)
如果你开启了Play Integrity API,需确认Google Cloud控制台中对应的API密钥已启用该API,同时检查OAuth 2.0客户端ID是否和Firebase项目绑定正确。切换网络环境测试
部分网络环境(如VPN、代理、企业防火墙)会干扰reCAPTCHA验证,测试时切换到稳定的移动网络或普通WiFi重试。
你提供的报错日志
2023-05-13 19:17:38.646 E/zzf: Failed to get reCAPTCHA token with error [An internal error has occurred. [ INVALID_APP_ID ]]- calling backend without app verification 2023-05-13 19:17:38.849 E/FirebaseAuth: [SmsRetrieverHelper] SMS verification code request failed: unknown status code: 17093 null 2023-05-13 19:17:38.849 E/onVerificationFailed: :com.google.firebase.auth.FirebaseAuthException: This request is missing a valid app identifier, meaning that Play Integrity checks, and reCAPTCHA checks were unsuccessful. Please try again, or check the logcat for more details.
内容的提问来源于stack exchange,提问作者kuznikowski

