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 выберите Storage . Если ваш проект еще не включен в тарифный план Blaze с оплатой по мере использования, вам будет предложено обновить проект. Нажмите « Начать» . Выберите местоположение для корзины по умолчанию. Ведра в US-CENTRAL1
,US-EAST1
иUS-WEST1
может воспользоваться уровнем «Всегда бесплатно» для Google Cloud Storage . Во всех остальных местах сегменты соответствуют ценам и использованию Google Cloud Storage .При желании позже вы сможете создать несколько сегментов , каждый из которых будет иметь свое собственное местоположение.
Настройте Firebase Security Rules для корзины по умолчанию. Во время разработки рассмотрите возможность настройки правил публичного доступа . Нажмите Готово .
PROJECT_ID .firebasestorage.app
.
Настройте общий доступ
Добавьте Cloud Storage в свое приложение
В Xcode, открыв проект приложения, выберите «Файл» > «Добавить пакеты» . При появлении запроса добавьте репозиторий Firebase SDK для платформ Apple: - Выберите библиотеку Cloud Storage .
- Добавьте флаг
-ObjC
в раздел «Другие флаги компоновщика» настроек сборки вашей цели. - По завершении Xcode автоматически начнет разрешать и загружать ваши зависимости в фоновом режиме.
https://github.com/firebase/firebase-ios-sdk.git
Настройте Cloud Storage в своем приложении.
Инициализируйте Firebase до того, как будет создана или использована какая-либо ссылка на Firebase. Возможно, вы уже сделали это, если уже настроили другой продукт Firebase, но вам необходимо обязательно добавить библиотеку FirebaseStorage
в список импорта.Импортируйте модуль FirebaseCore
и модульFirebaseStorage
в свойUIApplicationDelegate
. Мы также рекомендуем добавитьFirebaseAuth
.import SwiftUI import FirebaseCore import FirebaseStorage import FirebaseAuth // ...
import FirebaseCore import FirebaseStorage import FirebaseAuth // ...
@import FirebaseCore; @import FirebaseStorage; @import FirebaseAuth; // ...
Настройте общий экземпляр FirebaseApp
в методеapplication(_:didFinishLaunchingWithOptions:)
делегата вашего приложения:// Use Firebase library to configure APIs FirebaseApp.configure()
// Use Firebase library to configure APIs FirebaseApp.configure()
// Use Firebase library to configure APIs [FIRApp configure];
(Только для SwiftUI) Создайте делегат приложения и прикрепите его к своей структуре App
с помощьюUIApplicationDelegateAdaptor
илиNSApplicationDelegateAdaptor
. Вы также должны отключить переключение делегатов приложений. Дополнительную информацию смотрите в инструкциях 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 ")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")
// 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")
// 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 .