Cloud Storage for Firebase позволяет загружать и делиться пользовательским контентом, таким как изображения и видео, ��то позволяет встраивать мультимедийный контент в ваши приложения. Ваши данные хранятся в контейнере Google Cloud Storage — решении для хранения объектов эксабайтного масштаба с высокой доступностью и глобальной избыточностью. Cloud Storage for Firebase позволяет безопасно загружать эти файлы непосредственно с мобильных устройств и веб-браузеров, легко справляясь с нестабильной работой сетей.
Прежде чем начать
Если вы ещё этого не сделали, обязательно ознакомьтесь с руководством по началу работы с приложениями для платформ Apple . Оно включает в себя:
Создание проекта Firebase.
Регистрация вашего приложения для платформы Apple в проекте и подключение вашего приложения к Firebase путем добавления библиотеки Firebase и файла конфигурации Firebase (
GoogleService-Info.plist
) в ваше приложение.
Убедитесь, что ваш проект Firebase включен в тарифный план Blaze с оплатой по факту использования . Если вы новичок в Firebase и Google Cloud, проверьте, можете ли вы получить кредит в размере 300 долларов США .
Создайте контейнер Cloud Storage по умолчанию
На панели навигации консоли Firebase выберите Хранилище . Если ваш проект еще не включен в тарифный план Blaze с оплатой по факту использования, вам будет предложено обновить его. Нажмите « Начать» . Выберите местоположение для контейнера по умолчанию. Ведра в US-CENTRAL1
,US-EAST1
иUS-WEST1
может воспользоваться тарифом «Всегда бесплатно» для Google Cloud Storage . Для сегментов во всех остальных локациях действуют тарифы и условия использования Google Cloud Storage .При желании вы можете позже создать несколько контейнеров , каждый из которых будет иметь свое собственное местоположение.
Настройте Firebase Security Rules для контейнера по умолчанию. В процессе разработки рассмотрите возможность настройки правил для публичного доступа . Нажмите Готово .
PROJECT_ID .firebasestorage.app
.
Настроить публичный доступ
Добавьте Cloud Storage в свое приложение
В Xcode откройте проект приложения и перейдите в Файл > Добавить пакеты . При появлении запроса добавьте репозиторий Firebase Apple Platforms SDK: - Выберите библиотеку Cloud Storage .
- Добавьте флаг
-ObjC
в раздел «Другие флаги компоновщика» настроек сборки вашей целевой системы. - После завершения Xcode автоматически начнет разрешать и загружать ваши зависимости в фоновом режиме.
https://github.com/firebase/firebase-ios-sdk.git
Настройте Cloud Storage в своем приложении
Инициализируйте Firebase перед созданием или использованием любой ссылки Firebase. Возможно, вы уже сделали это, если уже настроили другой продукт Firebase, но вам нужно обязательно добавить библиотеку FirebaseStorage
в список импорта.Импортируйте модули FirebaseCore
иFirebaseStorage
вUIApplicationDelegate
. Мы также рекомендуем добавитьFirebaseAuth
.SwiftUI import SwiftUI import FirebaseCore import FirebaseStorage import FirebaseAuth // ...
Быстрый import FirebaseCore import FirebaseStorage import FirebaseAuth // ...
Objective-C @import FirebaseCore; @import FirebaseStorage; @import FirebaseAuth; // ...
Настройте общий экземпляр FirebaseApp
в методеapplication(_:didFinishLaunchingWithOptions:)
делегата вашего приложения:SwiftUI // Use Firebase library to configure APIs FirebaseApp.configure()
Быстрый // Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C // Use Firebase library to configure APIs [FIRApp configure];
(Только SwiftUI) Создайте делегат приложения и присоедините его к структуре App
с помощьюUIApplicationDelegateAdaptor
илиNSApplicationDelegateAdaptor
. Также необходимо отключить подмену делегата приложения. Подробнее см. в инструкциях SwiftUI .SwiftUI @main struct YourApp: App { // Register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
Получите ссылку на службу Cloud Storage , используя приложение Firebase по умолчанию. Убедитесь, что файл конфигурации Firebase ( GoogleService-Info.plist
) в кодовой базе вашего приложения обновлен с использованием имени вашего контейнера Cloud Storage по умолчанию.Используйте этот скачанный файл конфигурации для замены существующего файла GoogleService-Info.plist
в корневом каталоге вашего проекта Xcode. При появлении запроса выберите добавление файла конфигурации во все целевые объекты.Убедитесь, что в вашем приложении есть только последний загруженный файл конфигурации и что к имени файла не добавлены дополнительные символы, например (2)
.
Получите ссылку на службу Cloud Storage , используя приложение Firebase по умолчанию: Быстрый let storage = Storage.storage()
// Alternatively, explicitly specify the bucket name URL. storage = Storage.storage(url:"gs://BUCKET_NAME")
Objective-C FIRStorage *storage = [FIRStorage storage];
// Alternatively, explicitly specify the bucket name URL. // FIRStorage storage = [FIRStorage storageWithURL:@"gs://BUCKET_NAME"];
Расширенная настройка
Использование контейнеров Cloud Storage в нескольких географических регионах Использование контейнеров Cloud Storage в разных классах хранения Использование контейнеров Cloud Storage с несколькими аутентифицированными пользователями в одном приложении
Используйте несколько контейнеров Cloud Storage
FIRStorage
, который ссылается на ваш пользовательский контейнер:
Быстрый
// Get a non-default Cloud Storage bucket storage = Storage.storage(url:"gs://my-custom-bucket")
Objective-C
// Get a non-default Cloud Storage bucket FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
Работа с импортными ведрами
gsutil
, входящего в состав Google Cloud SDK :
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
Номер вашего проекта можно найти, как описано во введении к проектам 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")
Objective-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"];
Следующие шаги
Подготовьтесь к запуску вашего приложения:
Включите App Check , чтобы гарантировать, что только ваши приложения смогут получить доступ к вашим хранилищам.
Настройте оповещения о бюджете для вашего проекта в консоли Google Cloud .
Отслеживайте панель управления «Использование и выставление счетов» в консоли Firebase , чтобы получить общую картину использования ресурсов вашего проекта в различных сервисах Firebase. Вы также можете посетить панель управления «Использование Cloud Storage для получения более подробной информации об использовании.
Ознакомьтесь с контрольным списком запуска Firebase .