【发布时间】:2021-11-03 16:09:26
【问题描述】:
在我正在构建的 Unity 应用程序中测试登录和注册功能时出现空引用错误。这两个错误实际上是同一行代码,所以我猜测某些东西与 Firebase 的连接不正确。
我正在使用 Unity 2021.1.12f1
这里是相关代码(不想贴太多,希望这足以帮助诊断问题。
public class FirebaseManager : MonoBehaviour
{
public static FirebaseManager instance;
public FirebaseAuth auth;
public FirebaseUser user;
FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(checkDependencyTask =>
{
var dependencyStatus = checkDependencyTask.Result;
if (dependencyStatus == DependencyStatus.Available)
{
InitializeFirebase();
}
private void InitializeFirebase()
{
auth = FirebaseAuth.DefaultInstance;
auth.StateChanged += AuthStateChanged;
AuthStateChanged(this, null);
}
public void RegisterButton()
{
StartCoroutine(RegisterLogic(registerUsername.text, registerEmail.text, registerPassword.text, registerConfirmPassword.text));
}
private IEnumerator RegisterLogic(string _username, string _email, string _password, string _confirmPassword)
{
if (_username == "")
{
registerOutputText.text = "Please enter a username";
}
else if (_password != _confirmPassword)
{
registerOutputText.text = "Passwords do not match";
}
else
{
var registerTask = auth.CreateUserWithEmailAndPasswordAsync(_email, _password);
//code continues from here
最后一行是当我单击“注册”按钮时抛出空引用错误的地方。 (在 Login 函数中有类似的代码行会抛出相同的错误,所以我假设 root 是相同的。)
我为解决此问题所做的工作:
- 验证json文件在Assets文件夹中
- 重新启动 Unity
- 删除并重新安装 Firebase 软件包(身份验证、数据库和远程配置)
我真的很茫然,任何帮助将不胜感激。
【问题讨论】: