簡體   English   中英

數據庫不會在帶有Firebase的Unity編輯器中更新

[英]Database won't update in Unity Editor with Firebase

我正在嘗試按照指南和幫助Firebase網站上有關Unity的實時數據庫設置的文章。 不幸的是,我很難將數據同步或添加 - 由於某種原因,數據庫無法識別我試圖作為測試放入的數據。

以下是我必須設置的全部內容:

public static DatabaseManager instance = null;

public string userID;
public string userDisplayName;

private DatabaseReference dbReference;

private void Awake()
{
    if (instance == null)
        instance = this;
    else if (instance != this)
        Destroy(gameObject);

    FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("URLOfAppHere");
    FirebaseApp.DefaultInstance.SetEditorP12FileName("AppFileHere.p12");
    FirebaseApp.DefaultInstance.SetEditorServiceAccountEmail("account.gserviceaccount.com");
    FirebaseApp.DefaultInstance.SetEditorP12Password("password");
    FirebaseApp.DefaultInstance.SetEditorAuthUserId("1234");

    dbReference = FirebaseDatabase.DefaultInstance.RootReference;
}

private void Start()
{

    CreateDataEntry("Testing User", "1234");
}

public void CreateDataEntry(string _displayName, string _userID)
{

    dbReference.Child("users").Child(_userID).SetValueAsync("test");
}

我目前在項目中設定的規則如下:

{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}

但我也試過了默認的。 不幸的是,兩者都不起作用。 然后我嘗試將其設置為公開,但再次無效。

這有什么想法?

您遇到的一個問題是您的editordatabaseurl未以url格式指定。

請訪問: https//firebase.google.com/docs/database/unity/start#configuring_the_sdk_for_the_unity_editor

它應該是:

FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://YOUR-FIREBASE-APP.firebaseio.com/");

您的服務帳戶設置也顯示錯誤,因為“account.gserviceaccount.com”不是有效的電子郵件地址。 我將刪除您在代碼中的“p12”設置並打開數據庫的公共訪問權以查看是否有效。 然后,如果可行,請嘗試按照此處的步驟設置服務帳戶訪問權限。

- - - - - - - 編輯 - - - - - - - - - -

好的,我剛剛意識到你可能故意編輯了這些信息。 P12設置的另一個問題是您設置的服務帳戶應該具有適當的權限(項目編輯器)。

...如果您設置了p12文件路徑,Firebase將使用該服務帳戶,即使您設置了公共訪問權限也會失敗。 所以 - 完全刪除任何p12值,並嘗試使用公共訪問權限刪除p12配置作為一種可能性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM