[英]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.