能否不依赖Play Integrity使用Firebase Phone Auth?认证报错求助
不依赖Google Play商店时使用Firebase Phone Auth的解决方案
当然可以继续使用Firebase Phone Auth,无需将应用局限在Play商店。你遇到的错误是因为新版本Firebase Auth默认启用了Play Integrity + reCAPTCHA的双重验证机制,非Play渠道分发的应用无法通过Play Integrity检查,同时reCAPTCHA验证也未正常触发导致的。
以下是具体解决步骤:
强制启用reCAPTCHA验证流程
初始化PhoneAuth时,通过forceRecaptchaFlowForTesting(true)参数强制走reCAPTCHA验证路径,绕过Play Integrity检查。这个参数虽带有"Testing"字样,但正式环境也可正常使用:val options = PhoneAuthOptions.newBuilder(firebaseAuth) .setPhoneNumber(phoneNumber) .setTimeout(60L, TimeUnit.SECONDS) .setActivity(activity) .setCallbacks(authCallbacks) .forceRecaptchaFlowForTesting(true) .build() PhoneAuthProvider.verifyPhoneNumber(options)Java环境只需调整对应代码结构即可实现相同逻辑。
确认reCAPTCHA配置正确性
- 登录Firebase控制台,检查项目是否已启用reCAPTCHA验证(默认启用,但建议确认状态)。
- 将应用所有分发渠道的签名指纹(SHA-1、SHA-256)添加到Firebase项目设置中——reCAPTCHA依赖这些指纹验证应用身份,缺失会直接导致验证失败。
确保基础权限配置
应用需声明INTERNET权限,保证reCAPTCHA WebView能正常加载验证页面。
补充说明:This request is missing a valid app identifier 错误本质是Play Integrity检查未通过,且reCAPTCHA验证也未成功触发。通过强制走reCAPTCHA流程,即可摆脱Play商店依赖,让Firebase Phone Auth在非Play渠道正常工作。
内容的提问来源于stack exchange,提问作者Bitwise DEVS
相关产品推荐
相关产品推荐

