Cloud Storage for Firebase 可讓您上傳及分享使用者原創內容,例如圖片和影片,在應用程式中建構互動式多媒體內容。您的資料會儲存在 Google Cloud Storage bucket 中,這是 exabyte 規模的物件儲存空間解決方案,具備高可用性和全球備援功能。Cloud Storage for Firebase 可讓您直接從行動裝置和網路瀏覽器安全上傳這些檔案,輕鬆處理網路不穩定的情況。
事前準備
如要使用 Cloud Storage,請先完成下列步驟:
註冊 Unity 專案並設定使用 Firebase。
如果 Unity 專案已使用 Firebase,則專案已註冊並設定 Firebase。
如果沒有 Unity 專案,可以下載範例應用程式。
將 Firebase Unity SDK (具體來說是
FirebaseStorage.unitypackage) 新增至 Unity 專案。
請注意,將 Firebase 新增至 Unity 專案時,您需要在 Firebase控制台和開啟的 Unity 專案中執行工作 (例如從控制台下載 Firebase 設定檔,然後移至 Unity 專案)。
此外,請確認 Firebase 專案採用即付即用 Blaze 定價方案,這是使用 Cloud Storage for Firebase 的必要條件。如果您剛開始使用 Firebase 和 Google Cloud,請確認是否符合 $300 美元免費試用抵免額的資格。
建立預設 Cloud Storage bucket
在 Firebase 控制台中,依序前往「資料庫和儲存空間」>「儲存空間」。
如果專案尚未採用即付即用 Blaze 定價方案,系統會提示您升級專案。
按一下「開始使用」。
選取預設 bucket 的位置。
、US-CENTRAL1 和US-EAST1 中的 Bucket 可利用 Google Cloud Storage 的「一律免費」層級。其他地區的 Bucket 則遵循Google Cloud Storage價格和用量。US-WEST1日後可以視需要建立多個值區,每個值區都有自己的位置。
設定預設 bucket 的 Firebase Security Rules。在開發期間,建議設定公開存取規則。
按一下「完成」。
您現在可以在 Firebase 控制台中查看 bucket (依序前往「資料庫和儲存空間」>「儲存空間」>「檔案」分頁標籤)。預設 bucket 名稱格式為 PROJECT_ID.firebasestorage.app
設定公開存取權
Cloud Storage for Firebase 提供宣告式規則語言,可讓您定義資料結構、索引方式,以及資料的讀取和寫入時間。根據預設,系統會限制對 Cloud Storage 的讀寫權限,只有通過驗證的使用者才能讀取或寫入資料。如要開始使用,但不想設定 Authentication,可以設定公開存取規則。
這樣一來,任何人都能存取 Cloud Storage,即使是不使用您應用程式的人也一樣,因此請務必在設定驗證時再次限制 Cloud Storage。
存取 FirebaseStorage 類別
Firebase.Storage.FirebaseStorage 是 Cloud Storage Unity SDK 的進入點。
// Get a reference to the storage service, using the default Firebase App FirebaseStorage storage = FirebaseStorage.DefaultInstance;
你可以開始使用 Cloud Storage 了!
後續步驟?瞭解如何建立 Cloud Storage 參照。
進階設定
如要使用下列功能,必須進行額外設定:
如果您有全球各地的使用者,並希望將資料儲存在使用者附近,第一個使用案例就非常適合您。舉例來說,您可以在美國、歐洲和亞洲建立值區,儲存這些地區使用者的資料,以減少延遲。
如果資料的存取模式不同,第二個用途就很有幫助。 舉例來說,您可以設定多區域或區域型值區,儲存圖片或其他經常存取的內容;並設定 Nearline 或 Coldline 值區,儲存使用者備份或其他不常存取的內容。
在上述任一使用情況中,您都會使用多個 Cloud Storage 值區。
如果您要建構的應用程式 (例如 Google 雲端硬碟) 允許使用者登入多個帳戶 (例如個人帳戶和公司帳戶),第三個用途就非常實用。您可以使用自訂 Firebase 應用程式執行個體,驗證每個額外帳戶。
使用多個 Cloud Storage bucket
如要使用上述預設值以外的 Cloud Storage bucket,或在單一應用程式中使用多個 Cloud Storage bucket,可以建立 FirebaseStorage 的執行個體,參照自訂 bucket:
// Get a non-default Storage bucket var storage = FirebaseStorage.GetInstance("gs://my-custom-bucket");
使用匯入的 bucket
將現有 Cloud Storage bucket 匯入 Firebase 時,您必須使用 Google Cloud SDK 隨附的 gsutil 工具,授予 Firebase 存取這些檔案的權限:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
如要找出專案編號,請參閱 Firebase 專案簡介。
新建立的 bucket 不會受到影響,因為這些 bucket 的預設存取控管設定允許 Firebase 存取。這項措施只是暫時性措施,日後將會自動執行。
使用自訂 Firebase 應用程式
如果您要使用自訂 FirebaseApp 建構更複雜的應用程式,可以建立以該應用程式初始化的 FirebaseStorage 例項:
// Get the default bucket from a custom FirebaseApp FirebaseStorage storage = FirebaseStorage.GetInstance(customApp); // Get a non-default bucket from a custom FirebaseApp FirebaseStorage storageCustom = FirebaseStorage.GetInstance(customApp, "gs://my-custom-bucket");
後續步驟
準備發布應用程式:
- 在 Google Cloud 控制台中,為專案設定預算快訊。
- 在 Firebase 控制台中監控「用量和帳單」資訊主頁,全面掌握專案在多項 Firebase 服務的用量。如要查看更詳細的用量資訊,請前往Cloud Storage「用量」資訊主頁。
- 查看 Firebase 發布檢查清單。