Начать работу с облачным хранилищем для 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. Выберите местоположение для клиента по умолчанию ведра Cloud Storage.

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

    • Если вы не можете выбрать местоположение, значит, в вашем проекте уже есть местоположение ресурса 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;

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

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

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

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

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

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

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

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

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

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

// Get a non-default Storage bucket
var 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 инициализируются с этим приложением:

// 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");

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