Unity/Android应用Firebase邮箱密码认证失败(OperationNotAllowed)
解决Firebase邮箱密码注册报错OperationNotAllowed的排查步骤
针对新Firebase项目的核心排查点
- 确认Authentication模块邮箱/密码登录状态:进入Firebase控制台对应项目,依次点「Authentication」→「登录方法」,找到「邮箱/密码」选项,确保主开关为开启状态——注意不要误关主开关只开“电子邮件链接登录”,这会导致常规密码注册被禁用。
- 检查Google Cloud控制台的API密钥限制:打开关联的Google Cloud控制台,进入「API和服务」→「凭据」,查看项目对应的API密钥。新项目可能默认设置了应用限制,需确保限制规则里的包名、SHA-1指纹和Unity项目完全匹配,或者暂时取消限制做测试。
- 核对google-services.json的包名一致性:打开新生成的json文件,检查
client->client_info->android_client_info->package_name字段,必须和Unity项目「Player Settings」→「Other Settings」里的包名完全一致,大小写也不能出错。 - 验证项目计费状态:新创建的Firebase项目若未绑定支付方式,部分隐性限制可能触发异常,确认项目处于正常可用状态,没有被暂停。
- 清理Unity缓存并重导SDK:删除Unity项目的
Library文件夹,重启项目后重新导入Firebase Authentication SDK,确保导入过程无报错。
额外验证动作
- 用Firebase控制台手动创建测试用户,在应用中尝试登录该账号,以此区分是注册流程问题还是项目配置问题。
- 补充错误日志打印:在Unity代码里捕获Firebase注册回调的完整错误信息,除了
OperationNotAllowed,查看是否有更具体的错误描述辅助定位。
内容的提问来源于stack exchange,提问作者Jeff
相关产品推荐
相关产品推荐

