我正在创建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;
}