Flutter中Firebase电话认证配置后仍出验证码,如何解决?
确认APP CHECK验证方式配置
启用App Check后,需确保Android端使用Play Integrity Provider,而非调试提供者。在Firebase控制台的App Check页面,检查你的Android应用是否正确关联Play Integrity,且未使用调试令牌(调试模式易触发验证码,发布版需切换至正式验证)。修正SHA值配置与命令
你之前运行的命令有误,正确命令是./gradlew signingReport,执行后将输出的所有SHA值(包括debug和release版本)添加到Firebase控制台项目设置中,确保添加后重新下载googleservices.json并替换到项目android/app目录。补充Google Play应用签名SHA值
若使用App Bundle发布或开启了Google Play App Signing,必须将Google Play控制台应用签名页面的SHA值也添加到Firebase。Google Play会替换本地签名,因此需使用Play控制台提供的官方签名SHA,而非本地生成的。检查电话认证高级设置
在Firebase控制台Authentication > 登录方法 > 电话页面,查看高级选项里的应用验证是否开启,且关联的是正确的App Check项目,避免错误配置导致验证降级。验证Play Integrity API权限
确认Firebase关联的Google Cloud项目已为Play Integrity API授予正确权限,同时在Google Play控制台应用完整性页面已启用相关验证,无配置错误。测试正式发布包
调试环境下即使配置正确,Firebase仍可能触发验证码,建议生成签名后的正式release包(APK/AAB)安装到设备测试,调试环境的App Check通常处于宽松模式。
内容的提问来源于stack exchange,提问作者Abdul Basit

