Google is committed to advancing racial equity for Black communities. See how.
Эта страница переведена с помощью Cloud Translation API.
Switch to English

Начните работу с облачным хранилищем на iOS

Облачное хранилище для Firebase позволяет загружать и обмениваться пользовательским контентом, таким как изображения и видео, что позволяет вам встраивать мультимедийный контент в свои приложения. Ваши данные хранятся в корзине Google Cloud Storage - решении для хранения объектов в масштабе эксабайтов с высокой доступностью и глобальной избыточностью. Облачное хранилище для Firebase позволяет безопасно загружать эти файлы прямо с мобильных устройств и веб-браузеров, с легкостью обрабатывая нестабильные сети.

Предпосылки

  1. Установите Firebase SDK .
  2. Добавьте свое приложение в проект Firebase в консоли Firebase .

Создайте корзину Cloud Storage по умолчанию

  1. На панели навигации консоли Firebase выберите « Хранилище» , затем нажмите « Начать» .

  2. Просмотрите сообщения о защите данных в облачном хранилище с помощью правил безопасности. Во время разработки подумайте о настройке ваших правил для общего доступа .

  3. Выберите расположение для сегмента облачного хранилища по умолчанию.

    • Этот параметр местоположения является местоположением ресурса Google Cloud Platform (GCP) по умолчанию для вашего проекта. Обратите внимание, что это местоположение будет использоваться для сервисов GCP в вашем проекте, для которых требуется настройка местоположения, в частности, для вашей базы данных Cloud Firestore и вашего приложения App Engine (что необходимо, если вы используете Cloud Scheduler).

    • Если вы не можете выбрать местоположение, значит, в вашем проекте уже есть местоположение ресурса GCP по умолчанию. Он был установлен либо во время создания проекта, либо при настройке другой службы, требующей настройки местоположения.

    Если вы используете план Blaze, вы можете создать несколько корзин , каждая со своим местоположением .

  4. Щелкните Готово .

Настроить публичный доступ

Облачное хранилище для Firebase предоставляет язык декларативных правил, который позволяет вам определять, как ваши данные должны быть структурированы, как они должны индексироваться и когда ваши данные могут быть прочитаны и записаны. По умолчанию доступ для чтения и записи в облачное хранилище ограничен, поэтому только аутентифицированные пользователи могут читать или записывать данные. Чтобы начать работу без настройки аутентификации , вы можете настроить свои правила для общего доступа .

Это делает облачное хранилище открытым для всех, даже для людей, которые не используют ваше приложение, поэтому обязательно снова ограничьте облачное хранилище при настройке аутентификации.

Добавьте облачное хранилище в свое приложение

  1. Добавьте зависимость для облачного хранилища в 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. Получите ссылку на сервис Cloud Storage, используя приложение Firebase по умолчанию:

    Быстрый

    let storage = Storage.storage()
    

    Цель-C

    FIRStorage *storage = [FIRStorage storage];
    

Вы готовы начать использовать облачное хранилище!

Во-первых, давайте узнаем, как создать ссылку на облачное хранилище .

Advanced Setup

Есть несколько вариантов использования, требующих дополнительной настройки:

Первый вариант использования идеален, если у вас есть пользователи по всему миру и вы хотите хранить их данные рядом с ними. Например, вы можете создавать корзины в США, Европе и Азии для хранения данных для пользователей в этих регионах, чтобы уменьшить задержку.

Второй вариант использования полезен, если у вас есть данные с разными шаблонами доступа. Например: вы можете настроить мультирегиональный или региональный сегмент, в котором будут храниться изображения или другой часто используемый контент, а также контейнер ближнего или холодного доступа, в котором хранятся резервные копии пользователей или другой редко используемый контент.

В любом из этих случаев вы захотите использовать несколько сегментов Cloud Storage .

Третий вариант использования полезен, если вы создаете приложение, такое как Google Диск, которое позволяет пользователям иметь несколько зарегистрированных учетных записей (например, личную учетную запись и рабочую учетную запись). Вы можете использовать собственный экземпляр приложения Firebase для аутентификации каждой дополнительной учетной записи.

Используйте несколько сегментов Cloud Storage

Если вы хотите использовать сегмент облачного хранилища, отличный от указанного выше по умолчанию, или использовать несколько сегментов облачного хранилища в одном приложении, вы можете создать экземпляр FIRStorage который ссылается на ваш пользовательский FIRStorage :

Быстрый

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

Цель-C

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

Работа с импортированными ведрами

При импорте существующего сегмента облачного хранилища в Firebase вам необходимо предоставить Firebase возможность доступа к этим файлам с gsutil инструмента gsutil , включенного в Google Cloud SDK :

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

Вы можете найти номер своего проекта, как описано во введении к проектам Firebase .

Это не влияет на вновь созданные корзины, поскольку для них установлен контроль доступа по умолчанию, разрешающий 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"];
    

Следующие шаги