我有兩個 Firebase 專案(一個用于開發,一個用于生產),在我的 Assets 檔案夾中,我分別為每個檔案夾創建了兩個檔案夾,每個檔案夾都包含其 google-services.json 檔案。我已經撰寫了指令來讀取 API 身份驗證的特定值和如下資訊,并相應地填充字串:
#if DEVELOPMENT_BUILD || UNITY_EDITOR
public static string apiKey = "";
public static string authDomain = "";
public static string databaseURL = "";
public static string projectId = "";
public static string storageBucket = "";
public static string messagingSenderId = "";
#else
public static string apiKey = "";
.
. so on
#endif
但是我的存盤直接從實體中讀取資料,如果我理解正確,它會從 JSON 中獲取資訊,因為它給了我一個錯誤,即我的存盤桶鏈接不匹配。我現在不確定如何在每種情況下從特定檔案夾中讀取它,我已經看到了通過添加專案風格來更改 build.gradle 檔案的解決方案,但該檔案說它是由 Unity 生成的,并將在下一次構建中被覆寫。我看到的所有其他答案都建議使用 FirebaseApp 類并呼叫 Create 函式來使用我自己的 FirebaseOptions 但我不確定何時呼叫該方法以及是否有更好的方法。
其他 Firebase 代碼:
private Firebase()
{
authenticationPath = new URI("https://www.googleapis.com");
databasePath = new URI(APIConfig.databaseURL);
}
存盤初始化:
private FBStorage()
{
storage = Firebase.Storage.FirebaseStorage.DefaultInstance;
#if DEVELOPMENT_BUILD || UNITY_EDITOR
root_storage_ref = storage.GetReferenceFromUrl("gs://...");
#else
root_storage_ref = storage.GetReferenceFromUrl("gs://...");
#endif
}
并且 Firebasestorage 類是密封的。
uj5u.com熱心網友回復:
您正在使用DefaultInstanceof ,這也意味著您正在使用從組態檔讀取FirebaseStorage的默認實體and 。FirebaseApp
相反,您需要FirebaseApp通過呼叫FirebaseApp.Create(...)并傳入當前構建的正確選項來創建自己的實體。
然后,您可以通過呼叫來獲取配置的FirebaseStorage實體。FirebaseAppFirebaseStorage.getInstance(app, "gs://yourBucketUrl")
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/419088.html
標籤:
