Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Начните с облачного хранилища для Unity

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

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

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

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

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

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

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

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

Создать хранилище по умолчанию

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

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

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

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

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

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

  4. Нажмите Готово .

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

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

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

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

Firebase.Storage.FirebaseStorage является точкой входа для облачного хранилища Unity SDK.

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

Вы готовы начать использовать Cloud Storage!

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

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

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

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

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

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

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

Используйте несколько корзин для хранения

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

// Get a non-default Storage bucket
var storage = FirebaseStorage.GetInstance("gs://my-custom-bucket");

Работа с импортированными ведрами

При импорте существующей корзины Cloud Storage в Firebase вам нужно предоставить Firebase возможность доступа к этим файлам с gsutil инструмента gsutil , включенного в Google Cloud SDK :

gsutil -m acl ch -r -u firebase-storage@system.gserviceaccount.com:O gs://<your-cloud-storage-bucket>

Это не влияет на вновь созданные сегменты, так как те имеют контроль доступа по умолчанию, установленный для разрешения 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 storage = FirebaseStorage.GetInstance(customApp, "gs://my-custom-bucket");

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