Description
[REQUIRED] Please fill in the following fields:
- Unity editor version: 2021.3.29
- Firebase Unity SDK version: 10.0.1
- Source you installed the SDK: Unity Package Manager
- Problematic Firebase Component: RealtimeDatabase
- Other Firebase Components in use: Auth
- Additional SDKs you are using: Facebook, UnityAds, Google playgames services
- Platform you are using the Unity editor on: Windows
- Platform you are targeting: Android
- Scripting Runtime: Mono and IL2CPP
[REQUIRED] Please describe the issue here:
In yesterday, reading and writing data was working fine.
However, this morning when I opened the editor to test the game, I was often unable to read the data in the database. I tried different login methods, including Email and Facebook. Among them, FB could not receive the data every time I executed it, while email is some times good and some times bad, and even if it receive data, it is also from the past.
After searching with different prints, I found that the problem lies here: GetUserReference().Child("logs").GetValueAsync();
I used a coroutine to execute this function. I found that when it reaches this line, it often waits indefinitely and then there is no result.
Relevant Code:
IEnumerator LoadID()
{
print("Load ID");
var task = GetUserReference().Child("logs").GetValueAsync();
print("catch the data from base");
yield return new WaitUntil(() => task.IsCompleted);
print("wait for end of coroutine");
if (task.IsFaulted || task.IsCanceled)
{
print(task.Exception);
yield break;
}
DataSnapshot snapshot = task.Result;
print("retuen result: " + snapshot);
if (snapshot.Value != null)
{
print("load player data");
LoadJson(snapshot);
StartCoroutine(LoadCats());
StartCoroutine(LoadBuilds());
}
else
{
//SaveID();
print("no data");
SaveJson_F();
//authManager.validateSignIn(true);
}
}