Godot集成Firebase谷歌登录遇DEVELOPER_ERROR问题求助
Godot Android Firebase Google Sign-In 解决 DEVELOPER_ERROR 问题
我在Godot引擎开发移动游戏,通过自定义Android插件集成Firebase实现Google登录,但运行时抛出以下错误:
Status{statusCode=DEVELOPER_ERROR, resolution=null}
已尝试添加SHA-1/SHA-256指纹、导入最新google-services.json、启用Firebase谷歌认证,但问题仍存在。以下是针对性的排查和解决步骤:
提前初始化FirebaseApp
不要在signIn()方法中延迟初始化FirebaseApp,应该在插件实例化时完成初始化,避免时机错误或重复初始化:class Authentication(private val activity: Activity) { private lateinit var auth: FirebaseAuth private lateinit var googleSignInClient: GoogleSignInClient init { FirebaseApp.initializeApp(activity) auth = Firebase.auth } // ... 其余signIn()、onActivityResult()代码 }验证
default_web_client_id的正确性- 打开Firebase控制台→项目设置→常规→滚动到「OAuth 2.0客户端ID」区域
- 确认存在类型为Web应用的客户端ID,将其值复制到插件的
res/values/strings.xml中,确保R.string.default_web_client_id指向该Web应用ID(而非Android客户端ID) - 检查
google-services.json的oauth_client数组,确认包含该Web客户端ID的条目
匹配Godot导出的签名配置
- 若使用debug构建,通过
keytool -list -v -keystore debug.keystore获取debug密钥库的SHA指纹,确认与Firebase控制台添加的一致 - 若使用release构建,检查Godot导出设置中指定的签名文件指纹,确保和Firebase控制台的记录完全匹配
- 避免勾选「使用调试密钥库」但实际用自定义签名打包的矛盾配置
- 若使用debug构建,通过
检查插件依赖配置
在插件的build.gradle中确认依赖完整且版本兼容:dependencies { implementation 'com.google.firebase:firebase-auth:22.3.1' implementation 'com.google.android.gms:play-services-auth:20.7.0' }确保在
build.gradle顶部应用Google服务插件:apply plugin: 'com.google.gms.google-services'清理构建缓存
- 在Godot中执行「项目→清理项目」,之后重新导出构建
- 若用Android Studio开发插件,执行「File→Invalidate Caches / Restart」清理缓存
- 删除插件项目的
.gradle、build文件夹,重新构建插件
验证测试环境
- 确保测试设备上的Google Play服务为最新版本,通过Google Play商店更新
- 使用带Google APIs的Android模拟器测试,避免无Google服务的模拟器
内容的提问来源于stack exchange,提问作者Luke Wardford
相关产品推荐
相关产品推荐

