Cloud Storage for Firebase позволяет загружать и публиковать пользовательский контент, например изображения и видео, что позволяет встраивать мультимедийный контент в ваши приложения. Ваши данные хранятся в корзине Google Cloud Storage — решении для хранения объектов эксабайтного масштаба с высокой доступностью и глобальной избыточностью. Cloud Storage for Firebase позволяет безопасно загружать эти файлы непосредственно с мобильных устройств и веб-браузеров, с легкостью обрабатывая нестабильные сети.
Предварительные условия
Если вы еще этого не сделали, добавьте Firebase в свой проект Android .
Создайте сегмент Cloud Storage по умолчанию.
На панели навигации консоли Firebase выберите «Хранилище» , затем нажмите «Начать» .
Ознакомьтесь с сообщением о защите данных вашего Cloud Storage с помощью правил безопасности. Во время разработки рассмотрите возможность настройки правил публичного доступа .
Выберите местоположение для сегмента Cloud Storage по умолчанию.
Этот параметр местоположения является местоположением ресурса Google Cloud Platform (GCP) вашего проекта по умолчанию . Обратите внимание, что это местоположение будет использоваться для сервисов GCP в вашем проекте, для которых требуется настройка местоположения, в частности для вашей базы данных Cloud Firestore и вашего приложения App Engine (которое требуется, если вы используете Cloud Scheduler ).
Если вы не можете выбрать местоположение, значит, в вашем проекте уже есть местоположение ресурса GCP по умолчанию. Он был установлен либо при создании проекта, либо при настройке другой службы, требующей настройки местоположения.
Если вы используете план Blaze, вы можете создать несколько сегментов , каждый из которых имеет свое собственное местоположение .
Нажмите Готово .
Настройте общий доступ
Cloud Storage for Firebase предоставляет язык декларативных правил, который позволяет вам определить, как должны быть структурированы ваши данные, как они должны индексироваться и когда ваши данные можно читать и записывать. По умолчанию доступ для чтения и записи к Cloud Storage ограничен, поэтому только прошедшие проверку подлинности пользователи могут читать и записывать данные. Чтобы начать работу без настройки Authentication , вы можете настроить свои правила для публичного доступа .
Это делает Cloud Storage открытым для всех, даже для людей, не использующих ваше приложение, поэтому обязательно снова ограничьте свое Cloud Storage при настройке аутентификации.
Добавьте SDK Cloud Storage в свое приложение
В файле Gradle вашего модуля (на уровне приложения) (обычно<project>/<app-module>/build.gradle.kts
или <project>/<app-module>/build.gradle
) добавьте зависимость для Cloud Storage . библиотека для Android. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотеки.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.3.0")) // Add the dependency for the Cloud Storage library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage") }
Используя Firebase Android BoM , ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.
(Альтернатива) Добавить зависимости библиотеки Firebase без использования BoM
Если вы решите не использовать Firebase BoM , вы должны указать каждую версию библиотеки Firebase в ее строке зависимости.
Обратите внимание: если вы используете в своем приложении несколько библиотек Firebase, мы настоятельно рекомендуем использовать BoM для управления версиями библиотек, что гарантирует совместимость всех версий.
dependencies { // Add the dependency for the Cloud Storage library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage:21.0.0") }
Настройте Cloud Storage
Первым шагом в доступе к вашему сегменту Cloud Storage является создание экземпляра FirebaseStorage
:
Kotlin+KTX
storage = Firebase.storage
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
Вы готовы начать использовать Cloud Storage !
Для начала давайте научимся создавать ссылку Cloud Storage .
Расширенная настройка
Есть несколько случаев использования, которые требуют дополнительной настройки:
- Использование сегментов Cloud Storage в нескольких географических регионах
- Использование сегментов Cloud Storage в разных классах хранилища
- Использование сегментов Cloud Storage с несколькими авторизованными пользователями в одном приложении
Первый вариант использования идеален, если у вас есть пользователи по всему миру и вы хотите хранить их данные рядом с ними. Например, вы можете создать сегменты в США, Европе и Азии для хранения данных пользователей в этих регионах, чтобы уменьшить задержку.
Второй вариант использования полезен, если у вас есть данные с разными шаблонами доступа. Например: вы можете настроить мультирегиональную или региональную корзину, в которой хранятся изображения или другой часто доступный контент, а также корзину ближней или холодной линии, в которой хранятся резервные копии пользователей или другой контент, к которому редко обращаются.
В любом из этих случаев вам понадобится использовать несколько сегментов Cloud Storage .
Третий вариант использования полезен, если вы создаете приложение, такое как Google Drive, которое позволяет пользователям иметь несколько учетных записей для входа в систему (например, личную учетную запись и рабочую учетную запись). Вы можете использовать собственный экземпляр приложения Firebase для аутентификации каждой дополнительной учетной записи.
Используйте несколько сегментов Cloud Storage
Если вы хотите использовать сегмент Cloud Storage отличный от указанного выше по умолчанию, или использовать несколько сегментов Cloud Storage в одном приложении, вы можете создать экземпляр FirebaseStorage
, который ссылается на ваш собственный сегмент:
Kotlin+KTX
// Get a non-default Storage bucket val storage = Firebase.storage("gs://my-custom-bucket")
Java
// Get a non-default Storage bucket FirebaseStorage storage = FirebaseStorage.getInstance("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
, вы можете создать экземпляр FirebaseStorage
инициализированный с помощью этого приложения:
Kotlin+KTX
// Get the default bucket from a custom FirebaseApp val storage = Firebase.storage(customApp!!) // Get a non-default bucket from a custom FirebaseApp val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")
Java
// Get the default bucket from a custom FirebaseApp FirebaseStorage storage = FirebaseStorage.getInstance(customApp); // Get a non-default bucket from a custom FirebaseApp FirebaseStorage customStorage = FirebaseStorage.getInstance(customApp, "gs://my-custom-bucket");
Следующие шаги
Подготовьтесь к запуску приложения:
Включите App Check , чтобы гарантировать, что только ваши приложения смогут получить доступ к вашим сегментам хранилища.
Настройте оповещения о бюджете для своего проекта в консоли Google Cloud .
Отслеживайте панель «Использование и выставление счетов» в консоли Firebase , чтобы получить общую картину использования вашего проекта в нескольких сервисах Firebase. Вы также можете посетить панель мониторинга использования Cloud Storage для получения более подробной информации об использовании.
Ознакомьтесь с контрольным списком запуска Firebase .
Cloud Storage for Firebase позволяет загружать и публиковать пользовательский контент, например изображения и видео, что позволяет встраивать мультимедийный контент в ваши приложения. Ваши данные хранятся в корзине Google Cloud Storage — решении для хранения объектов эксабайтного масштаба с высокой доступностью и глобальной избыточностью. Cloud Storage for Firebase позволяет безопасно загружать эти файлы непосредственно с мобильных устройств и веб-браузеров, с легкостью обрабатывая нестабильные сети.
Предварительные условия
Если вы еще этого не сделали, добавьте Firebase в свой проект Android .
Создайте сегмент Cloud Storage по умолчанию.
На панели навигации консоли Firebase выберите «Хранилище» , затем нажмите «Начать» .
Ознакомьтесь с сообщением о защите данных вашего Cloud Storage с помощью правил безопасности. Во время разработки рассмотрите возможность настройки правил публичного доступа .
Выберите местоположение для сегмента Cloud Storage по умолчанию.
Этот параметр местоположения является местоположением ресурса Google Cloud Platform (GCP) вашего проекта по умолчанию . Обратите внимание, что это местоположение будет использоваться для сервисов GCP в вашем проекте, для которых требуется настройка местоположения, в частности для вашей базы данных Cloud Firestore и вашего приложения App Engine (которое требуется, если вы используете Cloud Scheduler ).
Если вы не можете выбрать местоположение, значит, в вашем проекте уже есть местоположение ресурса GCP по умолчанию. Он был установлен либо при создании проекта, либо при настройке другой службы, требующей настройки местоположения.
Если вы используете план Blaze, вы можете создать несколько сегментов , каждый из которых имеет свое собственное местоположение .
Нажмите Готово .
Настройте общий доступ
Cloud Storage for Firebase предоставляет язык декларативных правил, который позволяет вам определить, как должны быть структурированы ваши данные, как они должны индексироваться и когда ваши данные можно читать и записывать. По умолчанию доступ для чтения и записи к Cloud Storage ограничен, поэтому только прошедшие проверку подлинности пользователи могут читать и записывать данные. Чтобы начать работу без настройки Authentication , вы можете настроить свои правила для публичного доступа .
Это делает Cloud Storage открытым для всех, даже для людей, не использующих ваше приложение, поэтому обязательно снова ограничьте свое Cloud Storage при настройке аутентификации.
Добавьте SDK Cloud Storage в свое приложение
В файле Gradle вашего модуля (на уровне приложения) (обычно<project>/<app-module>/build.gradle.kts
или <project>/<app-module>/build.gradle
) добавьте зависимость для Cloud Storage . библиотека для Android. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотеки.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.3.0")) // Add the dependency for the Cloud Storage library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage") }
Используя Firebase Android BoM , ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.
(Альтернатива) Добавить зависимости библиотеки Firebase без использования BoM
Если вы решите не использовать Firebase BoM , вы должны указать каждую версию библиотеки Firebase в ее строке зависимости.
Обратите внимание: если вы используете в своем приложении несколько библиотек Firebase, мы настоятельно рекомендуем использовать BoM для управления версиями библиотек, что гарантирует совместимость всех версий.
dependencies { // Add the dependency for the Cloud Storage library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage:21.0.0") }
Настройте Cloud Storage
Первым шагом в доступе к вашему сегменту Cloud Storage является создание экземпляра FirebaseStorage
:
Kotlin+KTX
storage = Firebase.storage
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
Вы готовы начать использовать Cloud Storage !
Для начала давайте научимся создавать ссылку Cloud Storage .
Расширенная настройка
Есть несколько случаев использования, которые требуют дополнительной настройки:
- Использование сегментов Cloud Storage в нескольких географических регионах
- Использование сегментов Cloud Storage в разных классах хранилища
- Использование сегментов Cloud Storage с несколькими авторизованными пользователями в одном приложении
Первый вариант использования идеален, если у вас есть пользователи по всему миру и вы хотите хранить их данные рядом с ними. Например, вы можете создать сегменты в США, Европе и Азии для хранения данных пользователей в этих регионах, чтобы уменьшить задержку.
Второй вариант использования полезен, если у вас есть данные с разными шаблонами доступа. Например: вы можете настроить мультирегиональную или региональную корзину, в которой хранятся изображения или другой часто доступный контент, а также корзину ближней или холодной линии, в которой хранятся резервные копии пользователей или другой контент, к которому редко обращаются.
В любом из этих случаев вам понадобится использовать несколько сегментов Cloud Storage .
Третий вариант использования полезен, если вы создаете приложение, такое как Google Drive, которое позволяет пользователям иметь несколько учетных записей для входа в систему (например, личную учетную запись и рабочую учетную запись). Вы можете использовать собственный экземпляр приложения Firebase для аутентификации каждой дополнительной учетной записи.
Используйте несколько сегментов Cloud Storage
Если вы хотите использовать сегмент Cloud Storage отличный от указанного выше по умолчанию, или использовать несколько сегментов Cloud Storage в одном приложении, вы можете создать экземпляр FirebaseStorage
, который ссылается на ваш собственный сегмент:
Kotlin+KTX
// Get a non-default Storage bucket val storage = Firebase.storage("gs://my-custom-bucket")
Java
// Get a non-default Storage bucket FirebaseStorage storage = FirebaseStorage.getInstance("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
, вы можете создать экземпляр FirebaseStorage
инициализированный с помощью этого приложения:
Kotlin+KTX
// Get the default bucket from a custom FirebaseApp val storage = Firebase.storage(customApp!!) // Get a non-default bucket from a custom FirebaseApp val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")
Java
// Get the default bucket from a custom FirebaseApp FirebaseStorage storage = FirebaseStorage.getInstance(customApp); // Get a non-default bucket from a custom FirebaseApp FirebaseStorage customStorage = FirebaseStorage.getInstance(customApp, "gs://my-custom-bucket");
Следующие шаги
Подготовьтесь к запуску приложения:
Включите App Check , чтобы гарантировать, что только ваши приложения смогут получить доступ к вашим сегментам хранилища.
Настройте оповещения о бюджете для своего проекта в консоли Google Cloud .
Отслеживайте панель «Использование и выставление счетов» в консоли Firebase , чтобы получить общую картину использования вашего проекта в нескольких сервисах Firebase. Вы также можете посетить панель мониторинга использования Cloud Storage для получения более подробной информации об использовании.
Ознакомьтесь с контрольным списком запуска Firebase .
Cloud Storage for Firebase позволяет загружать и публиковать пользовательский контент, например изображения и видео, что позволяет встраивать мультимедийный контент в ваши приложения. Ваши данные хранятся в корзине Google Cloud Storage — решении для хранения объектов эксабайтного масштаба с высокой доступностью и глобальной избыточностью. Cloud Storage for Firebase позволяет безопасно загружать эти файлы непосредственно с мобильных устройств и веб-браузеров, с легкостью обрабатывая нестабильные сети.
Предварительные условия
Если вы еще этого не сделали, добавьте Firebase в свой проект Android .
Создайте сегмент Cloud Storage по умолчанию.
На панели навигации консоли Firebase выберите «Хранилище» , затем нажмите «Начать» .
Ознакомьтесь с сообщением о защите данных вашего Cloud Storage с помощью правил безопасности. Во время разработки рассмотрите возможность настройки правил публичного доступа .
Выберите местоположение для сегмента Cloud Storage по умолчанию.
Этот параметр местоположения является местоположением ресурса Google Cloud Platform (GCP) вашего проекта по умолчанию . Обратите внимание, что это местоположение будет использоваться для сервисов GCP в вашем проекте, для которых требуется настройка местоположения, в частности для вашей базы данных Cloud Firestore и вашего приложения App Engine (которое требуется, если вы используете Cloud Scheduler ).
Если вы не можете выбрать местоположение, значит, в вашем проекте уже есть местоположение ресурса GCP по умолчанию. Он был установлен либо при создании проекта, либо при настройке другой службы, требующей настройки местоположения.
Если вы используете план Blaze, вы можете создать несколько сегментов , каждый из которых имеет свое собственное местоположение .
Нажмите Готово .
Настройте общий доступ
Cloud Storage for Firebase предоставляет язык декларативных правил, который позволяет вам определить, как должны быть структурированы ваши данные, как они должны индексироваться и когда ваши данные можно читать и записывать. По умолчанию доступ для чтения и записи к Cloud Storage ограничен, поэтому только прошедшие проверку подлинности пользователи могут читать и записывать данные. Чтобы начать работу без настройки Authentication , вы можете настроить свои правила для публичного доступа .
Это делает Cloud Storage открытым для всех, даже для людей, не использующих ваше приложение, поэтому обязательно снова ограничьте свое Cloud Storage при настройке аутентификации.
Добавьте SDK Cloud Storage в свое приложение
В файле Gradle вашего модуля (на уровне приложения) (обычно<project>/<app-module>/build.gradle.kts
или <project>/<app-module>/build.gradle
) добавьте зависимость для Cloud Storage . библиотека для Android. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотеки.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.3.0")) // Add the dependency for the Cloud Storage library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage") }
Используя Firebase Android BoM , ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.
(Альтернатива) Добавить зависимости библиотеки Firebase без использования BoM
Если вы решите не использовать Firebase BoM , вы должны указать каждую версию библиотеки Firebase в ее строке зависимости.
Обратите внимание: если вы используете в своем приложении несколько библиотек Firebase, мы настоятельно рекомендуем использовать BoM для управления версиями библиотек, что гарантирует совместимость всех версий.
dependencies { // Add the dependency for the Cloud Storage library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage:21.0.0") }
Настройте Cloud Storage
Первым шагом в доступе к вашему сегменту Cloud Storage является создание экземпляра FirebaseStorage
:
Kotlin+KTX
storage = Firebase.storage
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
Вы готовы начать использовать Cloud Storage !
Для начала давайте научимся создавать ссылку Cloud Storage .
Расширенная настройка
Есть несколько случаев использования, которые требуют дополнительной настройки:
- Использование сегментов Cloud Storage в нескольких географических регионах
- Использование сегментов Cloud Storage в разных классах хранилища
- Использование сегментов Cloud Storage с несколькими авторизованными пользователями в одном приложении
Первый вариант использования идеален, если у вас есть пользователи по всему миру и вы хотите хранить их данные рядом с ними. Например, вы можете создать сегменты в США, Европе и Азии для хранения данных пользователей в этих регионах, чтобы уменьшить задержку.
Второй вариант использования полезен, если у вас есть данные с разными шаблонами доступа. Например: вы можете настроить мультирегиональную или региональную корзину, в которой хранятся изображения или другой часто доступный контент, а также корзину ближней или холодной линии, в которой хранятся резервные копии пользователей или другой контент, к которому редко обращаются.
В любом из этих случаев вам понадобится использовать несколько сегментов Cloud Storage .
Третий вариант использования полезен, если вы создаете приложение, такое как Google Drive, которое позволяет пользователям иметь несколько учетных записей для входа в систему (например, личную учетную запись и рабочую учетную запись). Вы можете использовать собственный экземпляр приложения Firebase для аутентификации каждой дополнительной учетной записи.
Используйте несколько сегментов Cloud Storage
Если вы хотите использовать сегмент Cloud Storage отличный от указанного выше по умолчанию, или использовать несколько сегментов Cloud Storage в одном приложении, вы можете создать экземпляр FirebaseStorage
, который ссылается на ваш собственный сегмент:
Kotlin+KTX
// Get a non-default Storage bucket val storage = Firebase.storage("gs://my-custom-bucket")
Java
// Get a non-default Storage bucket FirebaseStorage storage = FirebaseStorage.getInstance("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
, вы можете создать экземпляр FirebaseStorage
инициализированный с помощью этого приложения:
Kotlin+KTX
// Get the default bucket from a custom FirebaseApp val storage = Firebase.storage(customApp!!) // Get a non-default bucket from a custom FirebaseApp val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")
Java
// Get the default bucket from a custom FirebaseApp FirebaseStorage storage = FirebaseStorage.getInstance(customApp); // Get a non-default bucket from a custom FirebaseApp FirebaseStorage customStorage = FirebaseStorage.getInstance(customApp, "gs://my-custom-bucket");
Следующие шаги
Подготовьтесь к запуску приложения:
Включите App Check , чтобы гарантировать, что только ваши приложения смогут получить доступ к вашим сегментам хранилища.
Настройте оповещения о бюджете для своего проекта в консоли Google Cloud .
Отслеживайте панель «Использование и выставление счетов» в консоли Firebase , чтобы получить общую картину использования вашего проекта в нескольких сервисах Firebase. Вы также можете посетить панель мониторинга использования Cloud Storage для получения более подробной информации об использовании.
Ознакомьтесь с контрольным списком запуска Firebase .
Cloud Storage for Firebase позволяет загружать и публиковать пользовательский контент, например изображения и видео, что позволяет встраивать мультимедийный контент в ваши приложения. Ваши данные хранятся в корзине Google Cloud Storage — решении для хранения объектов эксабайтного масштаба с высокой доступностью и глобальной избыточностью. Cloud Storage for Firebase позволяет безопасно загружать эти файлы непосредственно с мобильных устройств и веб-браузеров, с легкостью обрабатывая нестабильные сети.
Предварительные условия
Если вы еще этого не сделали, добавьте Firebase в свой проект Android .
Создайте сегмент Cloud Storage по умолчанию.
На панели навигации консоли Firebase выберите «Хранилище» , затем нажмите «Начать» .
Ознакомьтесь с сообщением о защите данных вашего Cloud Storage с помощью правил безопасности. Во время разработки рассмотрите возможность настройки правил публичного доступа .
Выберите местоположение для сегмента Cloud Storage по умолчанию.
Этот параметр местоположения является местоположением ресурса Google Cloud Platform (GCP) вашего проекта по умолчанию . Обратите внимание, что это местоположение будет использоваться для сервисов GCP в вашем проекте, для которых требуется настройка местоположения, в частности для вашей базы данных Cloud Firestore и вашего приложения App Engine (которое требуется, если вы используете Cloud Scheduler ).
Если вы не можете выбрать местоположение, значит, в вашем проекте уже есть местоположение ресурса GCP по умолчанию. Он был установлен либо при создании проекта, либо при настройке другой службы, требующей настройки местоположения.
Если вы используете план Blaze, вы можете создать несколько сегментов , каждый из которых имеет свое собственное местоположение .
Нажмите Готово .
Настройте общий доступ
Cloud Storage for Firebase предоставляет язык декларативных правил, который позволяет вам определить, как должны быть структурированы ваши данные, как они должны индексироваться и когда ваши данные можно читать и записывать. По умолчанию доступ для чтения и записи к Cloud Storage ограничен, поэтому только прошедшие проверку подлинности пользователи могут читать и записывать данные. Чтобы начать работу без настройки Authentication , вы можете настроить свои правила для публичного доступа .
Это делает Cloud Storage открытым для всех, даже для людей, не использующих ваше приложение, поэтому обязательно снова ограничьте свое Cloud Storage при настройке аутентификации.
Добавьте SDK Cloud Storage в свое приложение
В файле Gradle вашего модуля (на уровне приложения) (обычно<project>/<app-module>/build.gradle.kts
или <project>/<app-module>/build.gradle
) добавьте зависимость для Cloud Storage . библиотека для Android. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотеки.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.3.0")) // Add the dependency for the Cloud Storage library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage") }
Используя Firebase Android BoM , ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.
(Альтернатива) Добавить зависимости библиотеки Firebase без использования BoM
Если вы решите не использовать Firebase BoM , вы должны указать каждую версию библиотеки Firebase в ее строке зависимости.
Обратите внимание: если вы используете в своем приложении несколько библиотек Firebase, мы настоятельно рекомендуем использовать BoM для управления версиями библиотек, что гарантирует совместимость всех версий.
dependencies { // Add the dependency for the Cloud Storage library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage:21.0.0") }
Настройте Cloud Storage
Первым шагом в доступе к вашему сегменту Cloud Storage является создание экземпляра FirebaseStorage
:
Kotlin+KTX
storage = Firebase.storage
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
Вы готовы начать использовать Cloud Storage !
Для начала давайте научимся создавать ссылку Cloud Storage .
Расширенная настройка
Есть несколько случаев использования, которые требуют дополнительной настройки:
- Использование сегментов Cloud Storage в нескольких географических регионах
- Использование сегментов Cloud Storage в разных классах хранилища
- Использование сегментов Cloud Storage с несколькими авторизованными пользователями в одном приложении
Первый вариант использования идеален, если у вас есть пользователи по всему миру и вы хотите хранить их данные рядом с ними. Например, вы можете создать сегменты в США, Европе и Азии для хранения данных пользователей в этих регионах, чтобы уменьшить задержку.
Второй вариант использования полезен, если у вас есть данные с разными шаблонами доступа. Например: вы можете настроить мультирегиональную или региональную корзину, в которой хранятся изображения или другой часто доступный контент, а также корзину ближней или холодной линии, в которой хранятся резервные копии пользователей или другой контент, к которому редко обращаются.
В любом из этих случаев вам понадобится использовать несколько сегментов Cloud Storage .
Третий вариант использования полезен, если вы создаете приложение, такое как Google Drive, которое позволяет пользователям иметь несколько учетных записей для входа в систему (например, личную учетную запись и рабочую учетную запись). Вы можете использовать собственный экземпляр приложения Firebase для аутентификации каждой дополнительной учетной записи.
Используйте несколько сегментов Cloud Storage
Если вы хотите использовать сегмент Cloud Storage отличный от указанного выше по умолчанию, или использовать несколько сегментов Cloud Storage в одном приложении, вы можете создать экземпляр FirebaseStorage
, который ссылается на ваш собственный сегмент:
Kotlin+KTX
// Get a non-default Storage bucket val storage = Firebase.storage("gs://my-custom-bucket")
Java
// Get a non-default Storage bucket FirebaseStorage storage = FirebaseStorage.getInstance("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
, вы можете создать экземпляр FirebaseStorage
инициализированный с помощью этого приложения:
Kotlin+KTX
// Get the default bucket from a custom FirebaseApp val storage = Firebase.storage(customApp!!) // Get a non-default bucket from a custom FirebaseApp val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")
Java
// Get the default bucket from a custom FirebaseApp FirebaseStorage storage = FirebaseStorage.getInstance(customApp); // Get a non-default bucket from a custom FirebaseApp FirebaseStorage customStorage = FirebaseStorage.getInstance(customApp, "gs://my-custom-bucket");
Следующие шаги
Подготовьтесь к запуску приложения:
Включите App Check , чтобы гарантировать, что только ваши приложения смогут получить доступ к вашим сегментам хранилища.
Настройте оповещения о бюджете для своего проекта в консоли Google Cloud .
Отслеживайте панель «Использование и выставление счетов» в консоли Firebase , чтобы получить общую картину использования вашего проекта в нескольких сервисах Firebase. Вы также можете посетить панель мониторинга использования Cloud Storage для получения более подробной информации об использовании.
Ознакомьтесь с контрольным списком запуска Firebase .