![](/img/trans.png)
[英]Firebase realtime database is adding extra element on result in Unity3d
[英]Can not retrieve data from firebase realtime database in unity3d
我是 unity firebase 开发人员的新手。 基本上,我创建了一个函数GetPlayerPrize
来从GetPlayerPrize
获取特定(登录用户)奖品的详细信息。 但是从 firebase 实时数据库中检索数据时我无法得到任何响应。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Firebase;
using Firebase.Auth;
using Firebase.Database;
using Firebase.Unity.Editor;
public class prizeCanvasScript : MonoBehaviour
{
public Text silver;
public Text gold;
public Button silverButton;
public Button GoldButton;
public Firebase.Auth.FirebaseAuth auth;
public Firebase.Auth.FirebaseUser user;
public void Start() {
InitializeFirebase();
}
public void InitializeFirebase()
{
FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://robberbird.firebaseio.com/");
auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
user = auth.CurrentUser;
GetPlayerPrize();
}
void GetPlayerPrize()
{
Debug.Log("Getting player data" + user.UserId);
FirebaseDatabase.DefaultInstance
.GetReference("users")
.Child(user.UserId)
.GetValueAsync()
.ContinueWith((task) =>{
if (task.IsFaulted)
{
Debug.LogError("Error retriving user data: " + user.UserId);
// Handle the error...
}
else if (task.IsCompleted)
{
DataSnapshot snapshot = task.Result;
Debug.Log("snapshot" );
Debug.Log(snapshot);
// silver.text = snapshot.silverChest.ToString();
// gold.text = snapshot.GoldChest.ToString();
}
});
}
}
使用任务引用您的默认实例?
static Task DI = new System.Threading.Tasks.Task(LoginAnon);
public static void LoginAnon()
{
DI = FirebaseAuth.DefaultInstance.SignInAnonymouslyAsync().ContinueWith(result =>
{
FirebaseDatabase.DefaultInstance.GetReference("Lobbies/").ChildAdded += HandleLobbyAdded;
FirebaseDatabase.DefaultInstance.GetReference("Lobbies/").ChildRemoved += HandleLobbyRemoved;
});
}
..
public static void HandleLobbyRemoved(object sender, ChildChangedEventArgs e)
{
DataSnapshot snap = e.Snapshot;
if (e.DatabaseError != null)
{
Debug.LogError(e.DatabaseError.Message);
return;
}
//User who created the lobby
string uID = snap.Key.ToString();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.