Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

在iOS上入門

Cloud Storage for Firebase允許您上傳和共享用戶生成的內容,例如圖像和視頻,從而可以將富媒體內容構建到應用程序中。您的數據存儲在Google Cloud Storage存儲桶中,這是一個具有高可用性和全局冗餘的EB級對象存儲解決方案。通過Cloud Storage,您可以直接從移動設備和Web瀏覽器安全地上傳這些文件,從而輕鬆處理不合格的網絡。

先決條件

  1. 安裝Firebase SDK
  2. Firebase控制台中,將您的應用程序添加到Firebase項目中。

創建一個默認的存儲桶

  1. Firebase控制台的導航窗格中,選擇“ 存儲” ,然後單擊“入門”

  2. 查看有關使用安全規則保護存儲數據的消息。在開發期間,請考慮設置您的公共訪問規則

  3. 選擇默認存儲分區的位置

    • 此位置設置是您項目的默認Google Cloud Platform(GCP)資源位置 。請注意,此位置將用於需要位置設置的項目中的GCP服務,特別是Cloud Firestore數據庫和App Engine應用程序(如果使用Cloud Scheduler,則是必需的)。

    • 如果您無法選擇位置,則您的項目已經具有默認的GCP資源位置。它是在項目創建期間設置的,或者是在設置另一個需要位置設置的服務時設置的。

    如果您使用的是Blaze計劃,則可以創建多個存儲桶 ,每個存儲桶都有自己的位置

  4. 單擊完成

設置公共訪問

Cloud Storage for Firebase提供了一種聲明性規則語言,使您可以定義數據的結構方式,索引方式以及何時可以讀取和寫入數據。默認情況下,對存儲的讀寫訪問受到限制,因此只有經過身份驗證的用戶才能讀取或寫入數據。要開始而不設置身份驗證 ,您可以配置公共訪問規則

這確實使Storage對任何人,甚至是不使用您的應用的人都開放,因此請確保在設置身份驗證時再次限制您的Storage。

將雲存儲添加到您的應用

  1. 將Cloud Storage的依賴項添加到項目的Podfile

     pod 'Firebase/Storage'
     
  2. 運行pod install並打開創建的.xcworkspace文件。

設置雲存儲

在創建或使用任何Firebase引用之前,您必須初始化Firebase。如果您已經為另一個Firebase功能完成了此操作,則可以跳過此步驟。

  1. 將Firebase模塊導入UIApplicationDelegate

    迅速

    import Firebase

    目標C

    @import Firebase;
  2. 配置FirebaseApp共享實例,通常在您應用的application:didFinishLaunchingWithOptions:方法中:

    迅速

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    目標C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. 使用默認的Firebase應用獲取對存儲服務的引用:

    迅速

    let storage = Storage.storage()
    

    目標C

    FIRStorage *storage = [FIRStorage storage];
    

您已經準備好開始使用Cloud Storage!

首先,讓我們學習如何創建Cloud Storage參考

進階設定

有一些用例需要額外的設置:

如果您的用戶遍布世界各地,並希望將他們的數據存儲在他們附近,則第一個用例是完美的。例如,您可以在美國,歐洲和亞洲創建存儲桶,以存儲這些區域中用戶的數據,以減少延遲。

如果您的數據具有不同的訪問模式,則第二個用例很有用。例如:您可以設置存儲圖片或其他頻繁訪問的內容的多區域或區域存儲桶,以及存儲用戶備份或其他不經常訪問的內容的近線或冷線存儲桶。

在這兩種用例中,您都想使用多個存儲桶

如果您要構建一個應用程序(例如Google雲端硬盤),則第三個用例非常有用,該應用程序允許用戶擁有多個登錄帳戶(例如,個人帳戶和工作帳戶)。您可以使用自定義Firebase App實例對每個其他帳戶進行身份驗證。

使用多個存儲桶

如果要使用上面提供的默認存儲桶以外的其他存儲桶,或在單個應用程序中使用多個存儲桶,則可以創建引用您的自定義存儲桶的FIRStorage實例:

迅速

// Get a non-default Storage bucket
storage = Storage.storage(url:"gs://my-custom-bucket")
    

目標C

// Get a non-default Storage bucket
FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
    

使用進口桶

將現有的Cloud Storage存儲分區導入Firebase時,您必須授予Firebase使用Google Cloud SDK中包含的gsutil工具訪問這些文件的能力:

gsutil -m acl ch -r -u firebase-storage@system.gserviceaccount.com:O gs://<your-cloud-storage-bucket>

這不會影響新創建的存儲桶,因為這些存儲桶的默認訪問控制設置為允許Firebase。這是一項臨時措施,將來會自動執行。

使用自定義Firebase應用

如果要使用自定義FirebaseApp構建更複雜的應用程序,則可以創建使用該應用程序初始化的Storage實例:

迅速

// Get the default bucket from a custom FirebaseApp
storage = Storage.storage(app:customApp)

// Get a non-default bucket from a custom FirebaseApp
storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
    

目標C

// Get the default bucket from a custom FIRApp
FIRStorage storage = [FIRStorage storageForApp:customApp];

// Get a non-default bucket from a custom FIRApp
FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
    

下一步