Wprowadzenie do Cloud Storage dla Unity

Cloud Storage dla Firebase umożliwia przesyłanie i udostępnianie treści użytkowników, np. obrazów i filmów, co pozwala umieszczać w aplikacjach treści multimedialne. Twoje dane są przechowywane w zasobniku Google Cloud Storage – rozwiązaniu obiektowej pamięci masowej w skali eksabajtowej o wysokiej dostępności i globalnej nadmiarowości. Cloud Storage dla Firebase umożliwia bezpieczne przesyłanie tych plików bezpośrednio z urządzeń mobilnych i przeglądarek, co pozwala łatwo obsługiwać niestabilne sieci.

Zanim zaczniesz

Zanim zaczniesz korzystać z Cloud Storage, musisz:

  • Zarejestruj projekt Unity i skonfiguruj go pod kątem korzystania z Firebase.

    • Jeśli Twój projekt w Unity korzysta już z Firebase, oznacza to, że został zarejestrowany i skonfigurowany pod kątem Firebase.

    • Jeśli nie masz projektu w Unity, możesz pobrać przykładową aplikację.

  • Dodaj pakiet SDK Firebase Unity (a konkretnie FirebaseStorage.unitypackage) do projektu Unity.

Pamiętaj, że dodanie Firebase do projektu Unity wymaga wykonania zadań zarówno w konsoli Firebase, jak i w otwartym projekcie Unity (np. musisz pobrać z konsoli pliki konfiguracyjne Firebase, a następnie przenieść je do projektu Unity).

Tworzenie domyślnego zasobnika Cloud Storage

  1. W panelu nawigacji konsoli Firebase kliknij Miejsce na dane, a potem kliknij Rozpocznij.

  2. Przeczytaj komunikaty na temat zabezpieczania danych w Cloud Storage za pomocą reguł zabezpieczeń. W trakcie programowania rozważ skonfigurowanie reguł dostępu publicznego.

  3. Wybierz lokalizację domyślnego zasobnika Cloud Storage.

    • To ustawienie lokalizacji określa domyślną lokalizację zasobów Google Cloud Platform (GCP) dla Twojego projektu. Pamiętaj, że ta lokalizacja będzie używana w przypadku usług GCP w projekcie, które wymagają ustawienia lokalizacji, a zwłaszcza bazy danych Cloud Firestore i aplikacji App Engine (co jest wymagane, jeśli używasz usługi Cloud Scheduler).

    • Jeśli nie możesz wybrać lokalizacji, oznacza to, że Twój projekt ma już domyślną lokalizację zasobów GCP. Wartość została ustawiona podczas tworzenia projektu lub podczas konfigurowania innej usługi, która wymaga ustawienia lokalizacji.

    Jeśli korzystasz z abonamentu Blaze, możesz utworzyć wiele zasobników, z których każdy będzie miał własną lokalizację.

  4. Kliknij Gotowe.

Konfigurowanie dostępu publicznego

Cloud Storage dla Firebase udostępnia język reguł deklaratywnych, który pozwala zdefiniować, jak dane powinny być uporządkowane, jak powinny być indeksowane oraz kiedy dane mogą być odczytywane i zapisywane. Domyślnie uprawnienia do odczytu i zapisu w Cloud Storage są ograniczone, więc tylko uwierzytelnieni użytkownicy mogą odczytywać i zapisywać dane. Aby rozpocząć bez konfigurowania uwierzytelniania, możesz skonfigurować reguły dostępu publicznego.

Dzięki temu usługa Cloud Storage jest dostępna dla wszystkich, nawet dla osób, które nie korzystają z Twojej aplikacji. Pamiętaj więc, aby ponownie ograniczyć Cloud Storage podczas konfigurowania uwierzytelniania.

Uzyskaj dostęp do zajęć FirebaseStorage

Firebase.Storage.FirebaseStorage to punkt wejścia pakietu SDK Unity w Cloud Storage.

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

Możesz już zacząć korzystać z Cloud Storage.

Najpierw dowiedz się, jak utworzyć plik referencyjny do Cloud Storage.

Konfiguracja zaawansowana

W kilku przypadkach dodatkowa konfiguracja może być wymagana:

Pierwszy przypadek użycia jest idealny, jeśli masz użytkowników na całym świecie i chcesz przechowywać ich dane w ich pobliżu. Możesz na przykład utworzyć zasobniki w Stanach Zjednoczonych, Europie i Azji do przechowywania danych użytkowników w tych regionach, aby skrócić czas oczekiwania.

Drugi przypadek użycia jest przydatny, gdy masz dane o różnych wzorcach dostępu. Możesz na przykład skonfigurować wieloregionalny lub regionalny zasobnik do przechowywania zdjęć lub innych często używanych treści, a także zasobnik Nearline lub Coldline, w którym będą przechowywane kopie zapasowe danych użytkowników lub inne rzadko używane treści.

W każdym z tych przypadków warto używać wielu zasobników Cloud Storage.

Trzeci przypadek użycia jest przydatny, gdy tworzysz aplikację, np. Dysk Google, która pozwala użytkownikom mieć więcej niż jedno konto (na przykład konto osobiste i służbowe). Do uwierzytelniania każdego dodatkowego konta możesz użyć niestandardowej instancji aplikacji Firebase.

Korzystanie z wielu zasobników Cloud Storage

Jeśli chcesz użyć innego zasobnika Cloud Storage niż podany powyżej lub użyć wielu zasobników Cloud Storage w jednej aplikacji, możesz utworzyć instancję FirebaseStorage odwołującą się do zasobnika niestandardowego:

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

Praca z zaimportowanymi zasobnikami

Podczas importowania do Firebase istniejącego zasobnika Cloud Storage musisz zezwolić Firebase na dostęp do tych plików za pomocą narzędzia gsutil, które wchodzi w skład pakietu SDK Google Cloud:

gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>

Numer projektu znajdziesz we wprowadzeniu do projektów Firebase.

Nie ma to wpływu na nowo utworzone zasobniki, ponieważ ich domyślna kontrola dostępu zezwala na dostęp Firebase. Jest to środek tymczasowy i w przyszłości będzie realizowany automatycznie.

Użyj niestandardowej aplikacji Firebase

Jeśli tworzysz bardziej złożoną aplikację za pomocą niestandardowego obiektu FirebaseApp, możesz utworzyć instancję FirebaseStorage zainicjowaną z tą aplikacją:

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

Dalsze kroki