Poznaj projekty Firebase

Ta strona zawiera krótkie omówienie kilku ważnych pojęć dotyczących projektów Firebase. Jeśli to możliwe, skorzystaj z łączy, aby znaleźć bardziej szczegółowe informacje o funkcjach, usługach, a nawet innych platformach. U dołu tej strony znajdziesz listę ogólnych sprawdzonych metod dotyczących projektów Firebase.

Relacje między projektami, aplikacjami i produktami Firebase

Projekt Firebase to element najwyższego poziomu w Firebase. W projekcie tworzysz aplikacje Firebase, rejestrując aplikacje Apple, Android lub internetowe. Po zarejestrowaniu aplikacji w Firebase możesz dodać pakiety SDK Firebase dla dowolnej liczby produktów Firebase , takich jak Analytics, Cloud Firestore, Monitorowanie wydajności czy Zdalna konfiguracja.

Więcej szczegółowych informacji na temat tego procesu można znaleźć w przewodnikach Wprowadzenie ( platformy Apple | Android | web | Unity | C++ ).

Związek między projektami Firebase a Google Cloud

Kiedy tworzysz nowy projekt Firebase w konsoli Firebase, w rzeczywistości tworzysz projekt Google Cloud za kulisami. Możesz myśleć o projekcie Google Cloud jako o wirtualnym kontenerze na dane, kod, konfigurację i usługi. Projekt Firebase to projekt Google Cloud, który zawiera dodatkowe konfiguracje i usługi związane z Firebase. Możesz nawet najpierw utworzyć projekt Google Cloud, a później dodać do niego Firebase.

Ponieważ projekt Firebase jest projektem Google Cloud:

Konfigurowanie projektu Firebase i rejestrowanie aplikacji

Możesz skonfigurować projekt Firebase i zarejestrować aplikacje w konsoli Firebase (lub, w przypadku zaawansowanych zastosowań, za pomocą interfejsu Firebase Management REST API lub Firebase CLI ). Podczas konfigurowania projektu i rejestrowania aplikacji musisz podjąć pewne decyzje organizacyjne i dodać informacje o konfiguracji związane z Firebase do swoich projektów lokalnych.

Przed skonfigurowaniem projektu i zarejestrowaniem aplikacji zapoznaj się z ogólnymi najlepszymi praktykami na poziomie projektu (na dole tej strony).

Nazwa projektu

Tworząc projekt, podajesz nazwę projektu . Ten identyfikator jest nazwą projektu tylko do użytku wewnętrznego w konsoli Firebase , Google Cloud Console i Firebase CLI . Nazwa projektu nie jest widoczna w żadnym publicznie widocznym produkcie, usłudze lub zasobie Firebase lub Google Cloud; służy po prostu do łatwiejszego rozróżniania wielu projektów.

Nazwę projektu możesz edytować w dowolnym momencie w projektu w konsoli Firebase. Nazwa projektu jest wyświetlana w górnym panelu.

Numer projektu

Projekt Firebase (i powiązany z nim projekt Google Cloud ) ma numer projektu . Jest to globalnie unikalny identyfikator kanoniczny przypisany do projektu przez Google. Użyj tego identyfikatora podczas konfigurowania integracji i/lub wywoływania interfejsu API do Firebase, Google lub usług innych firm.

Wywołania API i numer projektu

W przypadku wielu wywołań API musisz dołączyć unikalny identyfikator projektu. Chociaż wiele interfejsów API akceptuje identyfikator projektu , zaleca się używanie numeru projektu do wykonywania wywołań interfejsu API do Firebase, Google lub usług innych firm.

Dowiedz się więcej o używaniu identyfikatorów projektów, zwłaszcza numeru projektu, w standardzie Google AIP 2510 .

Znajdź numer projektu

  • Konsola Firebase: kliknij projektu . Numer projektu jest wyświetlany w górnym okienku.

  • Firebase CLI: uruchom firebase projects:list . Numer projektu jest wyświetlany wraz ze wszystkimi projektami Firebase powiązanymi z Twoim kontem.

  • Firebase Management REST API: Wywołaj projects.list . Treść odpowiedzi zawiera numer projektu w obiekcie FirebaseProject .

Identyfikator projektu

Projekt Firebase (i powiązany z nim projekt Google Cloud ) ma identyfikator projektu . Jest to zdefiniowany przez użytkownika unikalny identyfikator projektu we wszystkich usługach Firebase i Google Cloud. Gdy tworzysz projekt Firebase, Firebase automatycznie przypisuje mu unikalny identyfikator, ale możesz go edytować podczas konfiguracji projektu. Ten identyfikator powinien być ogólnie traktowany jako wygodny alias do odwoływania się do projektu.

Jeśli usuniesz projekt, identyfikator projektu również zostanie usunięty i nigdy nie może być ponownie użyty przez żaden inny projekt.

Zasoby Firebase i identyfikator projektu

Identyfikator projektu jest wyświetlany w publicznie widocznych zasobach Firebase, na przykład:

  • Domyślna subdomena hostingu — PROJECT_ID .web.app i PROJECT_ID .firebaseapp.com
  • Domyślny adres URL bazy danych czasu rzeczywistego — PROJECT_ID -default-rtdb.firebaseio.com lub PROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app
  • Domyślna nazwa zasobnika Cloud Storage — PROJECT_ID .appspot.com

Dla wszystkich wyżej wymienionych zasobów możesz tworzyć instancje inne niż domyślne. Widoczne publicznie nazwy wartości innych niż domyślne są w pełni konfigurowalne. Możesz połączyć domeny niestandardowe z witryną hostowaną przez Firebase, podzielić bazę danych czasu rzeczywistego na fragmenty i utworzyć wiele zasobników Cloud Storage (odwiedź stronę z wprowadzeniem dla konkretnej platformy).

Firebase CLI i identyfikator projektu

W niektórych przypadkach możesz mieć wiele projektów Firebase powiązanych z tym samym lokalnym katalogiem aplikacji. W takich sytuacjach, gdy używasz interfejsu wiersza polecenia Firebase , musisz przekazać flagę --project z poleceniami firebase , aby komunikować się z projektem Firebase, z którym chcesz wchodzić w interakcję.

Możesz też ustawić alias projektu dla każdego projektu Firebase, aby nie musieć zapamiętywać identyfikatorów projektów.

Wywołania API i identyfikator projektu

W przypadku wielu wywołań API musisz dołączyć unikalny identyfikator projektu. Chociaż wiele interfejsów API akceptuje identyfikator projektu, zaleca się używanie numeru projektu do wykonywania wywołań interfejsu API do Firebase, Google lub usług innych firm.

Dowiedz się więcej o używaniu identyfikatorów projektów, zwłaszcza numeru projektu, w standardzie Google AIP 2510 .

Znajdź identyfikator projektu

  • Konsola Firebase: kliknij projektu . Identyfikator projektu jest wyświetlany w górnym panelu.

  • Firebase CLI: uruchom firebase projects:list . Identyfikator projektu jest wyświetlany wraz ze wszystkimi projektami Firebase powiązanymi z Twoim kontem.

  • Firebase Management REST API: Wywołaj projects.list . Treść odpowiedzi zawiera identyfikator projektu w obiekcie FirebaseProject .

Pliki i obiekty konfiguracyjne Firebase

Gdy rejestrujesz aplikację w projekcie Firebase, konsola Firebase udostępnia plik konfiguracyjny Firebase (aplikacje Apple/Android) lub obiekt konfiguracyjny (aplikacje internetowe), który dodajesz bezpośrednio do lokalnego katalogu aplikacji.

  • W przypadku aplikacji Apple dodajesz plik konfiguracyjny GoogleService-Info.plist .
  • W przypadku aplikacji na Androida dodajesz plik konfiguracyjny google-services.json .
  • W przypadku aplikacji internetowych dodajesz obiekt konfiguracyjny Firebase.

W dowolnym momencie możesz uzyskać plik konfiguracyjny lub obiekt Firebase aplikacji .

Plik lub obiekt konfiguracji Firebase kojarzy aplikację z określonym projektem Firebase i jego zasobami (bazami danych, zasobnikami pamięci itp.). Konfiguracja obejmuje „Opcje Firebase”, czyli parametry wymagane przez usługi Firebase i Google do komunikacji z interfejsami API serwera Firebase oraz do powiązania danych klienta z projektem Firebase i aplikacją Firebase. Oto wymagane, minimalne „Opcje Firebase”:

  • Klucz API : prosty zaszyfrowany ciąg używany podczas wywoływania niektórych API, które nie wymagają dostępu do prywatnych danych użytkownika (przykładowa wartość: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

  • Identyfikator projektu : zdefiniowany przez użytkownika unikalny identyfikator projektu we wszystkich usługach Firebase i Google Cloud. Ten identyfikator może pojawiać się w adresach URL lub nazwach niektórych zasobów Firebase, ale ogólnie powinien być traktowany jako wygodny alias do odwoływania się do projektu. (przykładowa wartość: myapp-project-123 )

  • Identyfikator aplikacji („AppID”) : unikalny identyfikator aplikacji Firebase w całej Firebase w formacie specyficznym dla platformy:

    • Aplikacje Firebase Apple: GOOGLE_APP_ID (przykładowa wartość: 1:1234567890:ios:321abc456def7890 )
      To nie jest identyfikator pakietu Apple.
    • Aplikacje Firebase na Androida: mobilesdk_app_id (przykładowa wartość: 1:1234567890:android:321abc456def7890 )
      To nie jest nazwa pakietu Android ani identyfikator aplikacji Android.
    • Aplikacje internetowe appId : identyfikator aplikacji (przykładowa wartość: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

Zawartość pliku konfiguracyjnego lub obiektu Firebase jest uznawana za publiczną, w tym identyfikator platformy aplikacji (identyfikator pakietu Apple lub nazwa pakietu Android) oraz wartości specyficzne dla projektu Firebase, takie jak klucz API, identyfikator projektu, adres URL bazy danych czasu rzeczywistego oraz Nazwa zasobnika Cloud Storage. Mając to na uwadze, użyj reguł zabezpieczeń Firebase , aby chronić swoje dane i pliki w Bazie danych czasu rzeczywistego , Cloud Firestore i Cloud Storage .

W przypadku projektów typu open source generalnie nie zalecamy uwzględniania pliku konfiguracyjnego lub obiektu Firebase aplikacji w kontroli źródła, ponieważ w większości przypadków użytkownicy powinni tworzyć własne projekty Firebase i wskazywać swoim aplikacjom własne zasoby Firebase (za pośrednictwem własnej konfiguracji Firebase plik lub obiekt).

Zarządzanie projektem Firebase

Zapoznaj się z ogólnymi sprawdzonymi metodami na poziomie projektu (na dole tej strony) pod kątem kwestii, które mogą wpłynąć na sposób zarządzania projektem Firebase.

Narzędzia do zarządzania projektem

Konsola Firebase

Konsola Firebase oferuje najbogatsze środowisko do zarządzania produktami i aplikacjami Firebase oraz ustawieniami na poziomie projektu.

Konsola Firebase — ekran przeglądu projektu

Lewy panel konsoli zawiera listę produktów Firebase uporządkowaną według kategorii najwyższego poziomu. U góry lewego panelu bocznego przejdź do ustawień projektu, klikając . Ustawienia projektu obejmują integracje , uprawnienia dostępu i rozliczenia .

Na środku konsoli wyświetlane są przyciski uruchamiające przepływy pracy konfiguracji w celu rejestrowania różnych typów aplikacji. Po rozpoczęciu korzystania z Firebase główny obszar konsoli zmienia się w pulpit nawigacyjny, na którym wyświetlane są statystyki dotyczące używanych produktów.

Firebase CLI (narzędzie wiersza poleceń)

Firebase oferuje też interfejs wiersza polecenia Firebase do konfigurowania określonych produktów Firebase, takich jak Hosting Firebase i Cloud Functions dla Firebase, i zarządzania nimi.

Po zainstalowaniu CLI masz dostęp do globalnego polecenia firebase . Użyj interfejsu wiersza polecenia, aby połączyć katalog lokalnej aplikacji z projektem Firebase , a następnie wdrażaj nowe wersje treści hostowanych przez Firebase lub aktualizacje funkcji.

Interfejs API REST zarządzania Firebase

Za pomocą interfejsu Firebase Management REST API możesz programowo zarządzać projektem Firebase. Na przykład możesz programowo zarejestrować aplikację w projekcie lub wyświetlić listę już zarejestrowanych aplikacji ( iOS+ | Android | web ).

Ogólne najlepsze praktyki

Dodawanie aplikacji do projektu

Upewnij się, że wszystkie aplikacje w projekcie są wariantami platformy tej samej aplikacji z perspektywy użytkownika końcowego. Zaleca się zarejestrowanie wersji tej samej aplikacji lub gry dla systemów Apple, Android i sieci Web w tym samym projekcie Firebase. Wszystkie aplikacje w projekcie zazwyczaj współdzielą te same zasoby Firebase (baza danych, zasobniki na dane itp.).

Jeśli masz wiele wariantów kompilacji ze zdefiniowanymi różnymi identyfikatorami pakietów lub nazwami pakietów Androida, możesz zarejestrować każdy wariant w osobnym projekcie Firebase. Jeśli jednak masz warianty korzystające z tych samych zasobów Firebase, zarejestruj je w tym samym projekcie Firebase.

Oto kilka ogólnych ograniczeń dotyczących projektów, aplikacji i witryn Firebase:

  • Liczba projektów na konto

    • Plan cenowy Spark — przydział tworzenia projektów jest ograniczony do mniejszej liczby projektów (zwykle około 5-10).
    • Plan cenowy Blaze — limit tworzenia projektów na konto znacznie wzrasta, o ile powiązane konto rozliczeniowe Cloud Billing ma dobrą opinię.

    Limit limitu tworzenia projektów rzadko jest problemem dla większości programistów, ale w razie potrzeby możesz poprosić o zwiększenie limitu projektu .

    Należy pamiętać, że całkowite usunięcie projektu wymaga 30 dni i wlicza się do limitu projektu do czasu całkowitego usunięcia projektu.

  • Liczba aplikacji na projekt

    Firebase ogranicza łączną liczbę aplikacji Firebase w projekcie Firebase do 30.

    Upewnij się, że wszystkie aplikacje Firebase w jednym projekcie Firebase są wariantami platformy tej samej aplikacji z perspektywy użytkownika końcowego. Przeczytaj więcej o najlepszych praktykach dotyczących wielu najemców poniżej.

    Dowiedz się więcej o limicie aplikacji na projekt w FAQ.

  • Liczba witryn hostingowych na projekt

    Funkcja wielu witryn w Hostingu Firebase obsługuje maksymalnie 36 witryn na projekt.

Wielu najemców

Łączenie kilku różnych logicznie niezależnych aplikacji i/lub witryn internetowych z jednym projektem Firebase (często nazywanym „wieloma dzierżawcami”) nie jest zalecane. Wielodostępność może prowadzić do poważnych problemów z konfiguracją i prywatnością danych, w tym niezamierzonych problemów z agregacją danych analitycznych, współdzielonym uwierzytelnianiem, nadmiernie złożonymi strukturami baz danych i trudnościami z regułami bezpieczeństwa.

Ogólnie rzecz biorąc, jeśli zestaw aplikacji nie udostępnia tych samych danych i konfiguracji, zdecydowanie rozważ zarejestrowanie każdej aplikacji w innym projekcie Firebase.

Na przykład, jeśli opracujesz aplikację z białą etykietą, każda niezależnie oznaczona aplikacja powinna mieć własny projekt Firebase, ale wersje platformy Apple i Android tej etykiety mogą znajdować się w tym samym projekcie. Każda niezależnie oznaczona aplikacja nie powinna (ze względu na ochronę prywatności) udostępniać danych innym.

Uruchamiam Twoją aplikację