Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

Предпосылки

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

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

  1. На навигационной панели Firebase консоли , выберите пункт меню, затем нажмите кнопку Начать.

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

  3. Выберите местоположение для клиента по умолчанию ведра Cloud Storage.

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

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

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

  4. Нажмите Готово.

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

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

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

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

Используйте Swift Package Manager для установки и управления зависимостями Firebase.

  1. В Xcode, с приложением проекта открыто, перейдите в меню Файл> Swift пакеты> Добавить пакет Завис.
  2. При появлении запроса добавьте репозиторий Firebase Apple Platform SDK:
  3.   https://github.com/firebase/firebase-ios-sdk
      
  4. Выберите библиотеку Cloud Storage.
  5. По завершении Xcode автоматически начнет разрешение и загрузку ваших зависимостей в фоновом режиме.

Настроить облачное хранилище

Вы должны инициализировать 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];
    

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

Во- первых, давайте узнаем , как создать ссылку Cloud Storage .

Дополнительные настройки

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

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

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

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

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

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

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

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

При импорте существующего ведро Cloud Storage в Firebase, вы должны будете предоставить Firebase возможность доступа к этим файлам , используя 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"];
    

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