Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
Эта страница переведена с помощью Cloud Translation API.
Switch to English

Начать работу с облачным хранилищем для Unity

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

Прежде чем вы начнете

Прежде чем вы сможете использовать облачное хранилище , вам необходимо:

  • Зарегистрируйте свой проект Unity и настройте его для использования Firebase.

    • Если ваш проект Unity уже использует Firebase, значит, он уже зарегистрирован и настроен для Firebase.

    • Если у вас нет проекта Unity, вы можете загрузить образец приложения .

  • Добавьте Firebase Unity SDK (в частности, FirebaseStorage.unitypackage ) в свой проект Unity.

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

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

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

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

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

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

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

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

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

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

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

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

Доступ к классу FirebaseStorage

Firebase.Storage.FirebaseStorage - это точка входа для Cloud Storage Unity SDK.

// Get a reference to the storage service, using the default Firebase App
FirebaseStorage storage = FirebaseStorage.DefaultInstance;

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

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

Advanced Setup

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

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

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

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

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

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

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

// Get a non-default Storage bucket
var storage = FirebaseStorage.GetInstance("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 , вы можете создать экземпляр FirebaseStorage инициализированный этим приложением:

// Get the default bucket from a custom FirebaseApp
FirebaseStorage storage = FirebaseStorage.GetInstance(customApp);

// Get a non-default bucket from a custom FirebaseApp
FirebaseStorage storageCustom = FirebaseStorage.GetInstance(customApp, "gs://my-custom-bucket");

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