Ogólne sprawdzone metody konfigurowania projektów Firebase

Na tej stronie znajdziesz ogólne, podstawowe sprawdzone metody konfigurowania projektów Firebase i rejestrowania w nich aplikacji, aby zapewnić sobie przejrzysty proces tworzenia, który korzysta z różnych środowisk. Gdy zapoznasz się ze sprawdzonymi metodami na tej stronie, przeczytaj nasze ogólne wskazówki dotyczące bezpieczeństwa.

Hierarchia projektów Firebase

Diagram przedstawiający podstawową hierarchię projektu w Firebase, w tym projekt, zarejestrowane w nim aplikacje oraz udostępnione zasoby i usługi Ten diagram przedstawia podstawową hierarchię projektu w Firebase. Oto najważniejsze relacje:

  • Projekt w Firebase jest kontenerem na wszystkie Twoje aplikacje oraz zasoby i usługi udostępnione w projekcie.

  • Projekt w Firebase może mieć zarejestrowaną co najmniej 1 aplikację w Firebase (np. wersję aplikacji na iOS i Androida lub wersję bezpłatną i płatną).

  • Wszystkie aplikacje w Firebase zarejestrowane w tym samym projekcie w Firebase współdzielą wszystkie zasoby i usługi udostępnione w projekcie oraz mają do nich dostęp. Oto przykłady:

    • Wszystkie aplikacje w Firebase zarejestrowane w tym samym projekcie w Firebase korzystają z tych samych backendów, takich jak Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud StorageCloud Functions.

    • Wszystkie aplikacje Firebase zarejestrowane w tym samym projekcie w Firebase są powiązane z tą samą usługą w Google Analytics, w której każda aplikacja Firebase jest osobnym strumieniem danych w tej usłudze.

Gdzie w tej hierarchii znajduje się projekt Google Cloud?

Jednym z aspektów hierarchii projektu Firebase, który nie jest widoczny na powyższym diagramie, jest relacja z projektem Google Cloud. Projekt Firebase to w zasadzie Google Cloudprojekt, w którym włączono dodatkowe konfiguracje i usługi specyficzne dla Firebase. Pamiętaj, że wszystkie aplikacje zarejestrowane w tym samym projekcie Firebase mają też dostęp do tych samych Google Cloud zasobów i usług.

Więcej informacji o związku między Firebase a Google Cloud znajdziesz w artykule Informacje o projektach Firebase.

Rejestrowanie wariantów aplikacji w projektach Firebase

Oto kilka ważnych wskazówek dotyczących rejestrowania wariantów aplikacji w projekcie w Firebase:

  • Upewnij się, że wszystkie aplikacje zarejestrowane w projekcie Firebase są z perspektywy użytkownika wariantami platformowymi tej samej aplikacji. Zarejestruj wersje tej samej aplikacji lub gry na iOS, Androida i w internecie w tym samym projekcie Firebase.

  • Jeśli masz wiele wariantów kompilacji, które mogą korzystać z tych samych zasobów Firebase, zarejestruj je w tym samym projekcie Firebase. Przykłady to blog i aplikacja internetowa w tym samym projekcie lub bezpłatna i płatna wersja tej samej aplikacji w tym samym projekcie.

  • Jeśli masz wiele wariantów kompilacji zależnych od stanu wydania (a nie od typowej aktywności użytkowników lub dostępu, jak w przypadku powyższych przykładów), zarejestruj każdy wariant w osobnym projekcie Firebase. Przykładem jest kompilacja debugowania i kompilacja wersji – zarejestruj każdą z nich w osobnym projekcie Firebase.

    • Wersje oparte na stanie wydania nie powinny współdzielić tych samych zasobów Firebase, ponieważ grozi to zanieczyszczeniem lub nawet zastąpieniem danych produkcyjnych danymi debugowania.

    • Warianty platformy każdego z tych wariantów kompilacji powinny znajdować się w tym samym projekcie Firebase. Na przykład zarejestruj kompilacje debugowania na iOS i Androida w projekcie Firebase „dev”, ponieważ obie mogą wchodzić w interakcje z tymi samymi danymi i zasobami spoza środowiska produkcyjnego.

Unikanie środowiska wielu najemców

Wielodostępność może prowadzić do poważnych problemów z konfiguracją i prywatnością danych, w tym do niezamierzonych problemów z agregacją danych analitycznych, współdzielonym uwierzytelnianiem, zbyt złożonymi strukturami baz danych i trudnościami z zasadami bezpieczeństwa.

Ogólnie rzecz biorąc, jeśli zestaw aplikacji nie udostępnia tych samych danych i konfiguracji, warto zarejestrować każdą aplikację w innym projekcie Firebase.

Jeśli na przykład tworzysz aplikację typu white label, każda niezależnie oznaczona aplikacja powinna mieć własny projekt Firebase, a wersje na iOS i Androida powinny znajdować się w tym samym projekcie Firebase. Każda aplikacja z osobną etykietą nie powinna (ze względu na prywatność) udostępniać danych innym aplikacjom.

Dalsze kroki