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

Android Java应用手机号OTP登录遇play_integrity_token无效应用信息错误

解决Firebase手机号OTP登录错误17028:Invalid app info in play_integrity_token

针对你遇到的Firebase Auth手机号验证失败(错误码17028,提示Invalid app info in play_integrity_token),以下是针对性的排查和解决步骤:

  • 确认Play Integrity API已启用
    登录Firebase控制台,进入对应项目的「API和服务」→「库」,搜索「Play Integrity API」,确保该API处于启用状态。Firebase Auth的手机号验证现在依赖此API,未启用会直接触发该错误。

  • 同步SHA指纹到Google Cloud Console
    仅在Firebase控制台添加SHA指纹可能存在同步延迟,需手动在Google Cloud Console操作:

    1. 进入项目的「API和服务」→「凭据」
    2. 找到对应的「Android OAuth 2.0客户端ID」
    3. 将你的SHA-1和SHA-256指纹添加到该客户端ID的「签名证书指纹」列表中
  • 重新下载并替换google-services.json
    修改SHA指纹或包名后,务必从Firebase控制台重新下载最新的google-services.json文件,覆盖app模块根目录下的旧文件,确保配置信息完全同步。

  • 清理项目缓存并重构
    执行以下命令清理Gradle缓存,避免旧签名信息残留:

    ./gradlew clean
    ./gradlew build --refresh-dependencies
    

    或在Android Studio中依次点击「Build」→「Clean Project」→「Rebuild Project」

  • 核对签名配置与指纹一致性
    检查app模块的build.gradle文件,确保签名配置指向的keystore与你在Firebase添加SHA指纹的keystore一致:
    调试版本示例配置:

    android {
        signingConfigs {
            debug {
                storeFile file(System.getProperty('user.home') + "/.android/debug.keystore")
                storePassword 'android'
                keyAlias 'androiddebugkey'
                keyPassword 'android'
            }
        }
        buildTypes {
            debug {
                signingConfig signingConfigs.debug
            }
        }
    }
    

    发布版本需确保配置的keystore路径、别名、密码与生成SHA指纹时使用的完全匹配。

  • 排查自定义Play Integrity逻辑(如有)
    若你手动实现了Play Integrity Token的获取逻辑,需确认调用API时使用的包名、签名信息正确,且token未过期。默认情况下Firebase Auth会自动处理此流程,无需自定义,若有额外逻辑需检查参数是否符合要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 10:12:17