在场景之间访问Firebase用户/数据库?

时间:2019-03-31 14:40:01

标签: c# firebase unity3d firebase-realtime-database firebase-authentication

我正在创建2个场景,一个场景用于通过Firebase Auth对用户进行身份验证,成功连接后,我将转到另一个场景,在该场景中我将无法访问UserId。如何在场景之间访问Firebase服务?我是否必须创建一个DoNotDestroy对象并将我的登录脚本存储在其中,或者是否有其他出色的解决方案?

更改为DB场景时,我尝试使用DoNotDestroy传输登录脚本,我可以访问currentUser等,但是DB无法正常工作,没有错误,但是没有将数据插入表中。 (可作为独立场景使用,但切换时不起作用)

我正在使用Unity Firebase指南

我通过以下代码解决了数据库的初始化问题。 现在,我可以获取当前已登录用户的信息,并在数据库中进行操作。问题是我在两个脚本中都有相同的Awake()函数。

在FirebaseLogin.cs中|场景1

public void Awake()
{
    FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("the_url");
    FirebaseApp.DefaultInstance.SetEditorP12FileName("the_file.p12");
    FirebaseApp.DefaultInstance.SetEditorServiceAccountEmail("the_email.com");
    FirebaseApp.DefaultInstance.SetEditorP12Password("the_pass");
    mDatabaseRef = Firebase.Database.FirebaseDatabase.DefaultInstance.RootReference;
}

内部FirebaseDatabase.cs |场景2

void Awake()
{
    reference = Firebase.Database.FirebaseDatabase.DefaultInstance.RootReference;
    myUser = FirebaseAuth.DefaultInstance.CurrentUser;
}

0 个答案:

没有答案