Unity Firebase SDK 连接本地Firebase Auth模拟器配置求助
Unity Firebase Auth 连接本地模拟器配置方法
前提条件
确保你的Firebase Unity SDK版本在8.3.0及以上,旧版本不支持模拟器连接功能。
核心配置步骤
在初始化Firebase Auth之前,添加模拟器连接代码,指定本地模拟器的IP和端口(默认Auth模拟器端口为9099):
using Firebase; using Firebase.Auth; using UnityEngine; public class FirebaseAuthSimulatorSetup : MonoBehaviour { void Start() { FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => { var dependencyStatus = task.Result; if (dependencyStatus == DependencyStatus.Available) { // 连接到本地Auth模拟器 FirebaseAuth.DefaultInstance.UseEmulator("127.0.0.1", 9099); // 这里可以继续编写你的Auth业务逻辑,比如登录、注册测试 TestSimulatorAuth(); } else { Debug.LogError($"无法解析Firebase依赖:{dependencyStatus}"); } }); } void TestSimulatorAuth() { var auth = FirebaseAuth.DefaultInstance; // 测试创建用户 auth.CreateUserWithEmailAndPasswordAsync("test_sim@example.com", "Test123!") .ContinueWith(task => { if (task.IsCompletedSuccessfully) { Debug.Log("模拟器用户创建成功!"); // 可前往模拟器控制台(http://localhost:4000/auth)查看用户 } else { Debug.LogError($"创建失败:{task.Exception?.Message}"); } }); } }
额外注意事项
- 端口匹配:启动Firebase模拟器时,确认控制台输出的Auth端口与代码中一致(默认是9099),如果自定义了端口,代码中要同步修改。
- HTTP连接允许:本地模拟器使用HTTP协议,部分Unity版本或SDK配置可能默认强制HTTPS,若出现连接失败,可添加以下代码禁用SSL验证(仅在测试环境使用):
// 在UseEmulator调用前添加 FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("http://127.0.0.1:9099"); - 模拟器启动顺序:先通过Firebase CLI命令
firebase emulators:start启动本地模拟器套件,再运行Unity项目,避免连接失败。
常见问题排查
- 若提示"无法连接到服务器":检查本地防火墙是否拦截了9099端口,或确认模拟器是否正常启动。
- 若SDK版本过低:前往Firebase控制台下载最新的Unity SDK包,替换项目中的旧SDK。
- 编辑器运行异常:在Player Settings中确认已开启"Internet Access"权限(设置路径:Edit > Project Settings > Player > Settings for PC, Mac & Linux Standalone > Internet Access)。
内容的提问来源于stack exchange,提问作者Waxx
相关产品推荐
相关产品推荐

