Zacznij korzystać z Cloud Storage na iOS

Cloud Storage dla Firebase umożliwia przesyłanie i udostępnianie treści generowanych przez użytkowników, takich jak obrazy i filmy, co pozwala na tworzenie treści multimedialnych w aplikacjach. Twoje dane są przechowywane w Google Cloud Storage wiadro - skalę exabyte rozwiązania pamięci masowej o wysokiej dostępności obiektu i globalnego redundancji. Cloud Storage dla Firebase umożliwia bezpieczne przesyłanie tych plików bezpośrednio z urządzeń mobilnych i przeglądarek internetowych, z łatwością obsługując niestabilne sieci.

Warunki wstępne

  1. Zainstalować Firebase SDK .
  2. Dodaj swoją aplikację do projektu Firebase w konsoli Firebase .

Utwórz domyślny zasobnik Cloud Storage

  1. W okienku nawigacyjnym konsoli Firebase wybierz Storage, a następnie kliknij przycisk Rozpocznij.

  2. Zapoznaj się z komunikatem o zabezpieczaniu danych Cloud Storage za pomocą reguł zabezpieczeń. Podczas rozwoju, należy rozważyć konfigurowania zasady publicznego dostępu .

  3. Wybierz lokalizację dla swojego domyślnego Cloud Storage.

    • To ustawienie jest lokalizacja Twojego projektu domyślny Google Cloud Platform (GCP) lokalizacja zasobów . Zauważ, że ta lokalizacja zostanie wykorzystany na usługi GCP w projekcie, które wymagają ustawienie lokalizacji, konkretnie swojej Chmura FireStore bazy i swojej App Engine aplikacji (co jest wymagane w przypadku korzystania Chmura Scheduler).

    • Jeśli nie możesz wybrać lokalizacji, oznacza to, że Twój projekt ma już domyślną lokalizację zasobu GCP. Została ustawiona albo podczas tworzenia projektu, albo podczas konfigurowania innej usługi, która wymaga ustawienia lokalizacji.

    Jeśli jesteś na planie Blaze, można utworzyć wiele wiader , każdy z własnym miejscu .

  4. Kliknij Gotowe.

Skonfiguruj dostęp publiczny

Cloud Storage dla Firebase udostępnia deklaratywny język reguł, który umożliwia zdefiniowanie struktury danych, sposobu ich indeksowania oraz czasu odczytywania i zapisywania danych. Domyślnie dostęp do odczytu i zapisu w Cloud Storage jest ograniczony, więc tylko uwierzytelnieni użytkownicy mogą odczytywać i zapisywać dane. Aby rozpocząć bez konfigurowania uwierzytelniania , można skonfigurować zasady publicznego dostępu .

Dzięki temu Cloud Storage jest dostępny dla każdego, nawet dla osób, które nie korzystają z Twojej aplikacji, więc pamiętaj o ponownym ograniczeniu Cloud Storage podczas konfigurowania uwierzytelniania.

Dodaj Cloud Storage do swojej aplikacji

  1. Dodaj zależność dla Cloud Storage do Twojego projektu Podfile :

    pod 'Firebase/Storage'
    
  2. Run pod install i otworzyć utworzony .xcworkspace pliku.

Skonfiguruj przechowywanie w chmurze

Musisz zainicjować Firebase przed utworzeniem lub użyciem jakiegokolwiek odniesienia Firebase. Jeśli zrobiłeś już to dla innej funkcji Firebase, możesz pominąć ten krok.

  1. Zaimportować moduł Firebase w UIApplicationDelegate :

    Szybki

    import Firebase

    Cel C

    @import Firebase;
  2. Skonfiguruj FirebaseApp wspólne wystąpienie, zazwyczaj w swojej aplikacji application:didFinishLaunchingWithOptions: metodę:

    Szybki

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

    Cel C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Uzyskaj odniesienie do usługi Cloud Storage, korzystając z domyślnej aplikacji Firebase:

    Szybki

    let storage = Storage.storage()
    

    Cel C

    FIRStorage *storage = [FIRStorage storage];
    

Możesz zacząć korzystać z Cloud Storage!

Najpierw dowiedz się, jak utworzyć odwołanie Cloud Storage .

Ustawienia zaawansowane

Istnieje kilka przypadków użycia, które wymagają dodatkowej konfiguracji:

Pierwszy przypadek użycia jest idealny, jeśli masz użytkowników na całym świecie i chcesz przechowywać ich dane w ich pobliżu. Możesz na przykład utworzyć zasobniki w Stanach Zjednoczonych, Europie i Azji, aby przechowywać dane użytkowników w tych regionach, aby skrócić czas oczekiwania.

Drugi przypadek użycia jest pomocny, jeśli masz dane o różnych wzorcach dostępu. Na przykład: możesz skonfigurować wieloregionalny lub regionalny zasobnik, który przechowuje zdjęcia lub inną często dostępną zawartość, oraz zasobnik nearline lub coldline, który przechowuje kopie zapasowe użytkowników lub inne rzadko używane treści.

W każdym z tych przypadków użycia, będziemy chcieli, aby korzystać z wielu wiadra Cloud Storage .

Trzeci przypadek użycia jest przydatny, jeśli tworzysz aplikację, taką jak Dysk Google, która umożliwia użytkownikom zalogowanie się na wiele kont (na przykład konto osobiste i konto służbowe). Można użyć niestandardowego Firebase App instancji w celu uwierzytelnienia każdego dodatkowego konta.

Użyj wielu zasobników Cloud Storage

Jeśli chcesz używać Cloud Storage wiadro inny niż domyślny podany powyżej, lub wykorzystać kilka wiader Cloud Storage w jednej aplikacji, można utworzyć instancję FIRStorage że odniesienia niestandardowego wiadra:

Szybki

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

Cel C

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

Praca z importowanymi zasobnikami

Podczas importowania istniejącego Cloud Storage do Firebase, trzeba przyznać Firebase możliwość dostępu do tych plików za pomocą gsutil narzędzie, zawarte w Google Cloud SDK :

gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>

Można znaleźć numer projektu zgodnie z opisem w wstępie do projektów Firebase .

Nie ma to wpływu na nowo utworzone zasobniki, ponieważ mają one domyślną kontrolę dostępu, która zezwala na Firebase. Jest to środek tymczasowy i będzie wykonywany automatycznie w przyszłości.

Użyj niestandardowej aplikacji Firebase

Jeśli budowanie bardziej skomplikowanych aplikacji przy użyciu niestandardowego FirebaseApp , można utworzyć instancję Storage zainicjowany z tej aplikacji:

Szybki

// 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")
    

Cel 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"];
    

Następne kroki