【发布时间】:2019-11-26 14:40:27
【问题描述】:
我是 Unity Firebase 开发人员的新手。基本上,我创建了一个函数GetPlayerPrize 从firebase 获取特定的(登录用户)奖品详细信息。但是从 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();
}
});
}
}
【问题讨论】:
-
你是说
Debug.LogError("Error retriving user data: " + user.UserId);和Debug.Log("snapshot" );都不会被调用吗? -
是的。 Debug.LogError("获取用户数据出错:" + user.UserId);也不是 Debug.Log("snapshot" );曾经打电话。
标签: c# firebase unity3d firebase-realtime-database