You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase短信验证onVerificationCompleted自动填码失效求助

解决Firebase Auth短信验证码自动填充(onVerificationCompleted)失效问题

核心问题是你的应用短信缺少SHA-256哈希码,导致Android系统无法识别该短信属于你的应用,因此无法触发自动填充和onVerificationCompleted回调。按以下步骤配置即可解决:

1. 获取应用SHA-256指纹

方式一:Android Studio操作

  • 打开右侧Gradle面板,找到你的app模块 → 展开Tasks → android → 双击运行signingReport
  • 在控制台输出中找到SHA-256对应的字符串(debug和release环境的都要记录)

方式二:命令行操作

  • Debug签名(默认):
    keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey
    
    密码输入android即可查看
  • Release签名:
    keytool -list -v -keystore 你的签名文件路径.jks -alias 你的签名别名
    
    输入签名文件密码查看

2. 在Firebase控制台添加哈希码

  • 打开Firebase控制台,进入你的项目 → 左侧菜单栏选择Authentication → 切换到Sign-in method标签页
  • 找到Phone认证选项,下拉到Android应用配置区域,点击添加指纹,把刚才获取的SHA-256哈希码添加进去(debug和release的都要加)

3. 更新google-services.json

  • 回到Firebase控制台的项目设置页面,下载最新的google-services.json文件
  • 替换你Flutter项目中android/app目录下的旧文件

4. 清理重建项目

  • 终端执行:
    flutter clean
    flutter run
    
  • 或在Android Studio中执行Build → Clean Project,再Build → Rebuild Project

5. 验证效果

重新发送验证码,短信末尾会自动带上11位的应用哈希码(格式类似:%LOGIN_CODE% is your verification code for %APP_NAME%. 12345678901),此时系统会自动识别并触发onVerificationCompleted完成自动登录。

额外注意事项

  • 测试时一定要用添加了对应SHA-256哈希的签名包,debug包用debug哈希,release包用release哈希
  • 部分国产ROM可能有自定义短信规则,建议先在原生Android系统验证功能正常后再适配国产机型

内容的提问来源于stack exchange,提问作者autumn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 19:30:58