Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

GetValueAsync() in Realtime Database often enters infinite wait #1371

Open
Labels
newNew issue.
@king24371

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);
 }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    newNew issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /