Projekt Firebase jest jednostką najwyższego poziomu w Firebase. W projekcie możesz zarejestrować aplikacje Apple, Android lub internetowe. Po zarejestrowaniu aplikacji w Firebase możesz dodać do niej specyficzne dla produktu pakiety SDK Firebase , takie jak Analytics, Cloud Firestore, Crashlytics lub Remote Config.
Powinieneś zarejestrować swoje warianty aplikacji Apple, Android i aplikacji internetowych w jednym projekcie Firebase. Możesz używać wielu projektów Firebase do obsługi wielu środowisk, takich jak programowanie, przemieszczanie i produkcja.
Oto kilka zasobów, dzięki którym możesz dowiedzieć się więcej o projektach Firebase:
Poznaj projekty Firebase — zawiera krótkie omówienie kilku ważnych koncepcji projektów Firebase, w tym ich relacji z Google Cloud oraz podstawowej hierarchii projektu oraz jego aplikacji i zasobów.
Ogólne najlepsze praktyki dotyczące konfigurowania projektów Firebase — zapewnia ogólne, najlepsze praktyki wysokiego poziomu dotyczące konfigurowania projektów Firebase i rejestrowania aplikacji w projekcie, dzięki czemu masz przejrzysty przepływ pracy programistycznej wykorzystujący różne środowiska.
Pamiętaj, że w przypadku wszystkich projektów Firebase Firebase automatycznie dodaje etykietę firebase:enabled na stronie Etykiety Twojego projektu w konsoli Google Cloud. Dowiedz się więcej o tej etykiecie w naszym FAQ .
Co to jest organizacja Google Cloud?
Organizacja Google Cloud to kontener dla projektów Google Cloud (w tym projektów Firebase). Ta hierarchia umożliwia lepszą organizację, zarządzanie dostępem i audyt projektów Google Cloud i Firebase. Aby uzyskać więcej informacji, zobacz Tworzenie organizacji i zarządzanie nimi .
Jak dodać Firebase do istniejącego projektu Google Cloud?
Możesz dodać Firebase do tych istniejących projektów, korzystając z dowolnej z następujących opcji:
Korzystanie z konsoli Firebase: Na stronie docelowej konsoli Firebase kliknij Dodaj projekt , a następnie wybierz istniejący projekt z menu Nazwa projektu .
Korzystanie z opcji programistycznej:
Wywołaj punkt końcowy interfejsu API REST zarządzania Firebase addFirebase .
Dlaczego mój projekt Google Cloud ma etykietę firebase:enabled ?
Na stronie Etykiety projektu w konsoli Google Cloud możesz zobaczyć etykietę firebase:enabled (w szczególności Keyfirebase z Valueenabled ).
Firebase automatycznie dodał tę etykietę, ponieważ Twój projekt jest projektem Firebase, co oznacza, że w Twoim projekcie są włączone konfiguracje i usługi specyficzne dla Firebase. Dowiedz się więcej o powiązaniu projektów Firebase z Google Cloud .
Zdecydowanie zalecamy, aby nie modyfikować ani nie usuwać tej etykiety. Ta etykieta jest używana przez Firebase i Google Cloud do wyświetlania listy projektów Firebase (na przykład przy użyciu punktu końcowego projects.list API REST.list lub w menu konsoli Firebase).
Pamiętaj, że ręczne dodanie tej etykiety do listy etykiet projektów NIE włącza konfiguracji i usług specyficznych dla Firebase dla Twojego projektu Google Cloud. Aby to zrobić, musisz dodać Firebase za pośrednictwem konsoli Firebase (lub, w przypadku zaawansowanych zastosowań, za pośrednictwem interfejsu API REST zarządzania Firebase lub interfejsu CLI Firebase ).
Dlaczego mój projekt Firebase nie pojawia się na mojej liście projektów Firebase?
To często zadawane pytania mają zastosowanie, jeśli nie widzisz swojego projektu Firebase w następujących miejscach:
Na liście projektów przeglądanych w konsoli Firebase
W odpowiedzi na uruchomienie polecenia Firebase CLI firebase projects:list
Wypróbuj poniższe kroki rozwiązywania problemów:
Najpierw spróbuj uzyskać dostęp do swojego projektu, odwiedzając bezpośrednio adres URL projektu. Użyj następującego formatu: https://console.firebase.google.com/project/ PROJECT-ID /overview
Jeśli nie możesz uzyskać dostępu do projektu lub pojawiają się błędy dotyczące uprawnień, sprawdź następujące elementy:
Upewnij się, że jesteś zalogowany do Firebase przy użyciu tego samego konta Google, które ma dostęp do projektu. Możesz logować się i wylogowywać z konsoli Firebase za pomocą awatara konta w prawym górnym rogu konsoli.
Upewnij się, że Twój projekt ma etykietę firebase:enabled na stronie Etykiety Twojego projektu w konsoli Google Cloud. Firebase i Google Cloud używają tej etykiety do wyświetlania listy projektów Firebase. Jeśli nie widzisz tej etykiety, ale dla Twojego projektu jest włączony interfejs Firebase Management API , ręcznie dodaj etykietę (w szczególności Keyfirebase z Valueenabled ).
Upewnij się, że masz przypisaną jedną z podstawowych ról IAM (Właściciel, Edytor, Przeglądający) lub rolę, która ma uprawnienia związane z Firebase, na przykład predefiniowaną rolę Firebase . Swoje role możesz wyświetlić na stronie IAM w konsoli Google Cloud.
Jeśli Twój projekt należy do organizacji Google Cloud, możesz potrzebować dodatkowych uprawnień, aby wyświetlić projekt na liście w konsoli Firebase. Skontaktuj się z osobą zarządzającą Twoją organizacją Google Cloud, aby przydzieliła Ci odpowiednią rolę do przeglądania projektu, na przykład rolę Przeglądarki.
Jeśli żaden z powyższych kroków rozwiązywania problemów nie pozwala zobaczyć Twojego projektu na liście projektów Firebase, skontaktuj się z pomocą techniczną Firebase .
Ile projektów mogę mieć na jednym koncie?
Plan cenowy Spark — Twój limit projektu jest ograniczony do niewielkiej liczby projektów (zwykle około 5-10).
Plan cenowy Blaze — Twój limit projektu na konto rozliczeniowe Cloud znacznie wzrasta, o ile Twoje konto rozliczeniowe Cloud ma dobrą opinię.
Pamiętaj, że całkowite usunięcie projektu zajmuje 30 dni i wlicza się do limitu do momentu całkowitego usunięcia.
Ile aplikacji Firebase mogę mieć w projekcie Firebase?
Projekt Firebase to kontener aplikacji Firebase na Apple, Androidzie i w Internecie. Firebase ogranicza całkowitą liczbę aplikacji Firebase w projekcie Firebase do 30.
Po osiągnięciu tej liczby wydajność zaczyna się pogarszać (szczególnie w przypadku Google Analytics) i ostatecznie, przy większej liczbie aplikacji, niektóre funkcje produktu przestają działać. Ponadto, jeśli używasz logowania Google jako dostawcy uwierzytelniania, dla każdej aplikacji w Twoim projekcie tworzony jest podstawowy identyfikator klienta OAuth 2.0. W jednym projekcie można utworzyć maksymalnie 30 identyfikatorów klientów.
Należy upewnić się, że wszystkie aplikacje Firebase w ramach jednego projektu Firebase są wariantami platformowymi tej samej aplikacji z punktu widzenia użytkownika końcowego. Na przykład, jeśli tworzysz aplikację z białą etykietą, każda niezależnie oznaczona aplikacja powinna mieć swój własny projekt Firebase, ale wersje tej etykiety na Apple i Androida mogą znajdować się w tym samym projekcie. Przeczytaj bardziej szczegółowe wskazówki w naszych ogólnych najlepszych praktykach dotyczących konfigurowania projektów Firebase .
W rzadkich przypadkach, gdy Twój projekt wymaga więcej niż 30 aplikacji, możesz poprosić o zwiększenie limitu aplikacji. Aby móc złożyć tę prośbę, Twój projekt musi znajdować się w planie cenowym Blaze. Odwiedź konsolę Google Cloud, aby zgłosić swoją prośbę i poddać ją ocenie. Więcej informacji o zarządzaniu limitami znajdziesz w dokumentacji Google Cloud.
Co się stanie, jeśli oznaczę mój projekt jako środowisko „produkcyjne”?
W konsoli Firebase możesz oznaczyć swoje projekty Firebase typem środowiska, jako środowiska produkcyjne lub nieokreślone (nieprodukcyjne).
Oznaczenie projektu jako typu środowiska nie ma wpływu na działanie projektu Firebase ani na jego funkcje. Jednak tagowanie może pomóc Tobie i Twojemu zespołowi zarządzać różnymi projektami Firebase w cyklu życia aplikacji.
Jeśli oznaczysz swój projekt jako środowisko produkcyjne, dodamy do projektu w konsoli Firebase kolorowy tag Prod , przypominający, że wszelkie zmiany mogą mieć wpływ na powiązane aplikacje produkcyjne. W przyszłości możemy dodać więcej funkcji i zabezpieczeń dla projektów Firebase oznaczonych jako środowiska produkcyjne.
Aby zmienić typ środowiska projektu Firebase, przejdź do settingsUstawienia projektu > Ogólne , a następnie na karcie Twój projekt w obszarze Środowisko kliknij edit , aby zmienić typ środowiska.
Gdzie mogę znaleźć identyfikator aplikacji dla mojej aplikacji Firebase?
W konsoli Firebase przejdź do settingsprojektu . Przewiń w dół do karty Twoje aplikacje , a następnie kliknij żądaną aplikację Firebase, aby wyświetlić informacje o aplikacji, w tym jej identyfikator .
Oto kilka przykładowych wartości identyfikatorów aplikacji:
Aplikacje Firebase na iOS: 1:1234567890:ios:321abc456def7890
Aplikacje Firebase na Androida: 1:1234567890:android:321abc456def7890
Jedna z następujących ról Firebase: właściciel lub administrator Firebase I
Jeden z następujących poziomów dostępu do Google Play: właściciel konta lub administrator
Aby połączyć aplikację AdMob , musisz być zarówno właścicielem projektu Firebase, jak i administratorem AdMob.
Aby połączyć swoje konto AdWords , musisz być zarówno właścicielem projektu Firebase, jak i administratorem AdWords.
Aby połączyć projekt BigQuery , musisz być właścicielem projektu Firebase.
Jakie powiadomienia o otwartym kodzie źródłowym powinienem uwzględnić w mojej aplikacji?
Na platformach Apple moduł Firebase zawiera plik NOTICES, który zawiera odpowiednie wpisy. Zestaw SDK Firebase dla systemu Android zawiera Activity pomocnicze umożliwiające wyświetlanie informacji o licencji.
Uprawnienia i dostęp do projektów Firebase
Jak przypisać członkowi projektu rolę, na przykład rolę właściciela?
Aby zarządzać rolami przypisanymi do każdego członka projektu, musisz być właścicielem projektu Firebase (lub mieć przypisaną rolę z uprawnieniem resourcemanager.projects.setIamPolicy ).
Oto miejsca, w których możesz przypisywać role i zarządzać nimi:
Konsola Google Cloud oferuje rozbudowany zestaw narzędzi do przypisywania ról członkom projektu na stronie IAM . W konsoli Cloud możesz także tworzyć niestandardowe role i zarządzać nimi, a także przyznawać kontom usług dostęp do swojego projektu.
Pamiętaj, że w konsoli Google Cloud członkowie projektu nazywani są podmiotami zabezpieczeń .
Jeśli właściciel Twojego projektu nie może już wykonywać zadań właściciela (na przykład osoba odeszła z Twojej firmy), a Twój projekt nie jest zarządzany za pośrednictwem organizacji Google Cloud (patrz następny akapit), możesz skontaktować się z pomocą techniczną Firebase, aby uzyskać przydzielony tymczasowy Właściciel.
Pamiętaj, że jeśli projekt Firebase jest częścią organizacji Google Cloud, może nie mieć właściciela. Jeśli nie możesz znaleźć właściciela projektu Firebase, skontaktuj się z osobą zarządzającą Twoją organizacją Google Cloud, aby przypisał właściciela do projektu.
Jak znaleźć właściciela projektu Firebase?
Możesz przeglądać członków projektu i ich role w następujących miejscach:
Jeśli masz dostęp do projektu w konsoli Firebase, możesz wyświetlić listę członków projektu, w tym właścicieli, na stronie Użytkownicy i uprawnienia w konsoli Firebase.
Jeżeli nie masz dostępu do projektu w konsoli Firebase, sprawdź czy masz dostęp do projektu w konsoli Google Cloud. Listę członków projektu, w tym właścicieli, możesz wyświetlić na stronie Uprawnienia w konsoli Google Cloud.
Jeśli właściciel Twojego projektu nie może już wykonywać zadań właściciela (na przykład osoba odeszła z Twojej firmy), a Twój projekt nie jest zarządzany za pośrednictwem organizacji Google Cloud (patrz następny akapit), możesz skontaktować się z pomocą techniczną Firebase, aby uzyskać przydzielony tymczasowy Właściciel.
Pamiętaj, że jeśli projekt Firebase jest częścią organizacji Google Cloud, może nie mieć właściciela. Zamiast tego osoba zarządzająca Twoją organizacją Google Cloud może wykonywać wiele zadań, które może wykonywać właściciel. Aby jednak wykonać kilka zadań specyficznych dla właściciela (takich jak przypisywanie ról lub zarządzanie usługami Google Analytics), administrator może potrzebować przypisać sobie rzeczywistą rolę właściciela w celu wykonywania tych zadań. Jeśli nie możesz znaleźć właściciela projektu Firebase, skontaktuj się z osobą zarządzającą Twoją organizacją Google Cloud, aby przypisał właściciela do projektu.
Dlaczego i kiedy powinienem przypisać członkowi projektu rolę właściciela?
Aby zapewnić prawidłowe zarządzanie projektem Firebase, musi on mieć właściciela . Właściciel projektu to osoba, która może wykonać kilka ważnych czynności administracyjnych (takich jak przypisywanie ról i zarządzanie właściwościami Google Analytics), a pomoc techniczna Firebase może realizować wyłącznie żądania administracyjne od wskazanych Właścicieli projektów.
Po skonfigurowaniu właścicieli projektu Firebase ważne jest, aby te przypisania były aktualne.
Pamiętaj, że jeśli projekt Firebase jest częścią organizacji Google Cloud, osoba zarządzająca Twoją organizacją Google Cloud może wykonywać wiele zadań, które może wykonywać właściciel. Jednak w przypadku kilku zadań specyficznych dla właściciela (takich jak przypisywanie ról lub zarządzanie usługami Google Analytics) administrator może potrzebować przypisać sobie rzeczywistą rolę właściciela w celu wykonania tych zadań.
Nie sądzę, że mam projekt Firebase, ale dostałem e-mail na jego temat. Jak uzyskać dostęp do tego projektu?
Otrzymany e-mail powinien zawierać link umożliwiający otwarcie projektu Firebase. Kliknięcie linku w wiadomości e-mail powinno otworzyć projekt w konsoli Firebase.
Jeśli nie możesz otworzyć projektu z linku, upewnij się, że jesteś zalogowany w Firebase przy użyciu tego samego konta Google, które otrzymało wiadomość e-mail dotyczącą projektu. Możesz logować się i wylogowywać z konsoli Firebase za pomocą awatara konta w prawym górnym rogu konsoli.
Pamiętaj, że jeśli jesteś administratorem organizacji Google Cloud, możesz otrzymywać powiadomienia o zmianach w projektach Firebase w Twojej organizacji. Możesz jednak nie mieć wystarczających uprawnień, aby otworzyć projekt Firebase. W takich przypadkach najprostszym rozwiązaniem jest przypisanie sobie faktycznej roli Właściciela , aby otworzyć projekt i wykonać wymagane czynności. Dowiedz się więcej o tym , dlaczego i kiedy przypisać rolę właściciela .
Platformy i frameworki
Odwiedź strony dotyczące rozwiązywania problemów i często zadawanych pytań dotyczące konkretnej platformy, aby uzyskać przydatne wskazówki i odpowiedzi oraz więcej często zadawanych pytań.
Jakie przeglądarki są obsługiwane w celu uzyskania dostępu do konsoli Firebase?
Dostęp do konsoli Firebase można uzyskać z najnowszych wersji popularnych przeglądarek komputerowych, takich jak Chrome, Firefox, Safari i Edge. Przeglądarki mobilne nie są obecnie w pełni obsługiwane.
Mogę załadować konsolę Firebase, ale dlaczego nie mogę znaleźć mojego projektu Firebase ani uzyskać do niego dostępu?
To często zadawane pytania mają zastosowanie, jeśli doświadczasz jednego z następujących problemów:
Konsola Firebase zwraca stronę błędu z informacją, że Twój projekt może nie istnieć lub że nie masz do niego dostępu.
Konsola Firebase nie wyświetla Twojego projektu nawet po wprowadzeniu jego identyfikatora projektu lub nazwy projektu w polu wyszukiwania konsoli.
Wypróbuj poniższe kroki rozwiązywania problemów:
Najpierw spróbuj uzyskać dostęp do swojego projektu, odwiedzając bezpośrednio adres URL projektu. Użyj następującego formatu: https://console.firebase.google.com/project/ PROJECT-ID /overview
Jeśli nadal nie możesz uzyskać dostępu do projektu lub pojawiają się błędy dotyczące uprawnień, sprawdź następujące elementy:
Upewnij się, że jesteś zalogowany do Firebase przy użyciu tego samego konta Google, które ma dostęp do projektu. Możesz logować się i wylogowywać z konsoli Firebase za pomocą awatara konta w prawym górnym rogu konsoli.
Upewnij się, że masz przypisaną jedną z podstawowych ról IAM (Właściciel, Edytor, Przeglądający) lub rolę, która ma uprawnienia związane z Firebase, na przykład predefiniowaną rolę Firebase . Swoje role możesz wyświetlić na stronie IAM w konsoli Google Cloud.
Jeśli Twój projekt należy do organizacji Google Cloud, możesz potrzebować dodatkowych uprawnień, aby wyświetlić projekt na liście w konsoli Firebase. Skontaktuj się z osobą zarządzającą Twoją organizacją Google Cloud, aby przydzieliła Ci odpowiednią rolę do przeglądania projektu, na przykład rolę Przeglądarki.
Jeśli żaden z powyższych kroków rozwiązywania problemów nie umożliwi Ci znalezienia projektu lub dostępu do niego, skontaktuj się z pomocą techniczną Firebase .
Dlaczego konsola Firebase nie ładuje się dla mnie?
To często zadawane pytania mają zastosowanie, jeśli doświadczasz któregokolwiek z następujących problemów:
Ładowanie strony w konsoli Firebase nigdy się nie kończy.
Dane na stronie nie ładują się zgodnie z oczekiwaniami.
Podczas ładowania konsoli Firebase otrzymujesz komunikaty o błędach przeglądarki.
Wypróbuj poniższe kroki rozwiązywania problemów:
Sprawdź wiersz Konsola w panelu stanu Firebase pod kątem ewentualnych przerw w świadczeniu usług.
Aby zmienić preferencje językowe, zobacz Zmień język .
Konsola Firebase obsługuje następujące języki:
język angielski
brazylijski portugalski
Francuski
Niemiecki
indonezyjski
język japoński
koreański
Rosyjski
Chiński uproszczony
hiszpański
Tradycyjne chińskie
Jakie role i uprawnienia obsługuje konsola Firebase?
Konsola Firebase i konsola Google Cloud korzystają z tych samych podstawowych ról i uprawnień. Dowiedz się więcej o rolach i uprawnieniach w dokumentacji IAM Firebase .
Właściciel projektu może dodawać innych członków do projektu, konfigurować integracje (połączenie projektu z usługami takimi jak BigQuery czy Slack) i ma pełne uprawnienia do edycji projektu.
Edytor projektu ma pełne uprawnienia do edycji projektu.
Przeglądający projekt ma dostęp tylko do odczytu projektu. Należy pamiętać, że konsola Firebase obecnie nie ukrywa/nie wyłącza elementów sterujących edycją interfejsu użytkownika przed osobami przeglądającymi projekt, ale te operacje nie powiodą się w przypadku członków projektu, którym przypisano rolę przeglądającego.
Firebase obsługuje również:
Predefiniowane role Firebase — wyselekcjonowane role specyficzne dla Firebase, które umożliwiają bardziej szczegółową kontrolę dostępu niż podstawowe role właściciela, redaktora i przeglądającego.
Role niestandardowe — w pełni dostosowane role IAM, które tworzysz w celu dostosowania zestawu uprawnień spełniających konkretne wymagania Twojej organizacji.
cennik
Które produkty są płatne? Które są bezpłatne?
Płatne produkty infrastrukturalne Firebase to baza danych czasu rzeczywistego, pamięć masowa w chmurze dla Firebase, funkcje w chmurze, hosting, laboratorium testowe i uwierzytelnianie telefoniczne. Oferujemy bezpłatny poziom dla wszystkich tych funkcji.
Firebase oferuje również wiele bezpłatnych produktów: Analytics, Cloud Messaging, kompozytor powiadomień, zdalna konfiguracja, indeksowanie aplikacji, linki dynamiczne i raportowanie awarii. Korzystanie z tych produktów podlega wyłącznie zasadom kontroli ruchu określonym w danym produkcie (np. przydziały, sprawiedliwy dostęp i inne zabezpieczenia usług) we wszystkich planach, w tym w naszym bezpłatnym planie Spark. Ponadto wszystkie funkcje uwierzytelniania poza uwierzytelnianiem telefonicznym są bezpłatne.
Czy Firebase oferuje bezpłatne kredyty próbne na płatne produkty?
Z płatnych usług Firebase można korzystać w ramach bezpłatnej wersji próbnej Google Cloud . Nowi użytkownicy Google Cloud i Firebase mogą skorzystać z 90-dniowego okresu próbnego, który obejmuje bezpłatne środki w wysokości 300 USD w ramach rozliczeń w chmurze, aby poznawać i oceniać produkty i usługi Google Cloud i Firebase.
W okresie bezpłatnej wersji próbnej Google Cloud otrzymasz konto rozliczeniowe Cloud w wersji próbnej. Każdy projekt Firebase korzystający z tego konta rozliczeniowego będzie objęty planem cenowym Blaze podczas bezpłatnego okresu próbnego.
Nie martw się, skonfigurowanie konta rozliczeniowego Cloud w ramach bezpłatnej wersji próbnej nie pozwala nam na pobieranie opłat. Nie zostaną naliczone żadne opłaty, chyba że wyraźnie włączysz rozliczenia, aktualizując swoje konto rozliczeniowe Cloud Free Trial do konta płatnego. Możesz przejść na konto płatne w dowolnym momencie okresu próbnego. Po dokonaniu aktualizacji możesz w dalszym ciągu wykorzystać pozostałe środki (w ciągu 90 dni).
Po wygaśnięciu bezpłatnego okresu próbnego będziesz musiał albo przejść na plan cenowy Spark, albo skonfigurować plan cenowy Blaze w konsoli Firebase, aby nadal korzystać z projektu Firebase.
Skąd mam wiedzieć, który plan cenowy jest dla mnie odpowiedni?
Plan cenowy Sparka
Nasz plan Spark to świetne miejsce na bezpłatne rozwijanie aplikacji. Otrzymujesz wszystkie bezpłatne funkcje Firebase (Analytics, narzędzie do tworzenia powiadomień, Crashlytics itd.) oraz duże ilości naszych płatnych funkcji infrastruktury. Jeśli jednak przekroczysz zasoby planu Spark w miesiącu kalendarzowym, Twoja aplikacja zostanie wyłączona na pozostałą część tego miesiąca. Ponadto funkcje Google Cloud nie są dostępne w przypadku korzystania z planu Spark.
Plan cenowy Blaze
Nasz plan Blaze jest przeznaczony dla aplikacji produkcyjnych. Plan Blaze umożliwia także rozszerzenie aplikacji o płatne funkcje Google Cloud. Płacisz tylko za zużyte zasoby, co pozwala na skalowanie w zależności od zapotrzebowania. Staramy się, aby ceny naszych planów Blaze były konkurencyjne w porównaniu z wiodącymi w branży dostawcami rozwiązań chmurowych.
Jak mogę monitorować wykorzystanie i rozliczenia?
Możesz śledzić wykorzystanie zasobów projektu w konsoli Firebase na dowolnym z następujących pulpitów nawigacyjnych:
W styczniu 2020 r. plan cenowy Flame (25 USD miesięcznie dodatkowego limitu) został usunięty jako opcja dla nowych rejestracji. Obecni użytkownicy planu otrzymali okres karencji na migrację swoich projektów z planu Flame. W lutym 2022 roku pozostałe projekty w planie cenowym Flame zostały obniżone do planu cenowego Spark. Odpowiednio,
Istniejące projekty planów Spark i Blaze oraz wszelkie nowe projekty nie mogą już przejść na plan Flame ani zarejestrować się w nim.
Jeśli przeniosłeś istniejący projekt planu Flame do innego planu cenowego, projekt nie będzie mógł wrócić do planu Flame.
Projekty obniżone do planu Spark można uaktualnić do planu Blaze, aby wznowić dodatkowe płatne usługi.
Odniesienia do planu Flame zostały usunięte z dokumentacji.
Chcesz poznać inne plany cenowe oferowane przez Firebase? Odwiedź naszą stronę z cenami Firebase ! Jeśli chcesz rozpocząć przenoszenie istniejących projektów do innego planu cenowego, możesz to zrobić w konsoli Firebase swojego projektu.
Dodatkowe często zadawane pytania dotyczące wycofania planu Flame
Mam projekt, proces lub model biznesowy, który opiera się na stałym koszcie Firebase. Co powinienem zrobić?
Czy mogę otrzymać specjalny dostęp do tworzenia nowych projektów planu Flame?
Nie, Firebase nie oferuje specjalnego dostępu dla projektów w celu przejścia na plan Flame lub zarejestrowania się w nim.
Zmieniłem projekt planu Flame na inny plan cenowy. Jak zmienić to z powrotem?
Przejście na plan Flame nie jest już możliwe. Aby uzyskać dostęp do usług świadczonych w ramach planu Flame, upewnij się, że korzystasz z planu cenowego Blaze i rozważ ustawienie alertów budżetowych dla swojego projektu.
Mój projekt został automatycznie przełączony na inny plan cenowy w ramach wycofania planu Flame. Co powinienem zrobić?
Jeśli Twój projekt wymaga dodatkowego limitu poza tym, który zapewnia plan Spark, musisz uaktualnić swój projekt do planu cenowego Blaze.
Dlaczego plan Flame zostaje wycofany?
Z biegiem lat zaobserwowaliśmy spadek wykorzystania planu Flame, a większość projektów korzystających z planu nie wykorzystuje jego pełnej wartości. Utrzymanie tego planu cenowego jest generalnie nieopłacalne i uważamy, że moglibyśmy służyć wszystkim lepiej, gdyby zasoby zostały przeznaczone na inne inicjatywy Firebase.
Czym bezpłatne korzystanie z planu Blaze różni się od bezpłatnego korzystania z planu Spark?
Bezpłatne wykorzystanie planu Blaze jest obliczane codziennie. Limity użytkowania różnią się także od planu Spark dotyczącego Cloud Functions, uwierzytelniania telefonicznego i laboratorium testowego.
W przypadku Cloud Functions bezpłatne wykorzystanie planu Blaze jest obliczane na poziomie konta rozliczeniowego Cloud, a nie na poziomie projektu i ma następujące ograniczenia:
2 mln wywołań/miesiąc
400 tys. GB sekund/miesiąc
200 000 sekund procesora/miesiąc
5 GB ruchu wychodzącego z sieci/miesiąc
W przypadku uwierzytelniania telefonicznego bezpłatne wykorzystanie planu Blaze jest obliczane co miesiąc.
W przypadku Laboratorium Testowego bezpłatne korzystanie z planu Blaze ma następujące ograniczenia:
30 minut na urządzeniu fizycznym dziennie
60 minut na urządzeniu wirtualnym/dzień
Czy limit bezpłatnego wykorzystania zostanie zresetowany po zmianie planu Spark na Blaze?
Bezpłatne korzystanie z planu Spark jest uwzględnione w planie Blaze. Bezpłatne korzystanie nie jest resetowane po przejściu na plan Blaze.
Co to jest „jednoczesne połączenie z bazą danych”?
Jednoczesne połączenie jest równoznaczne z połączeniem jednego urządzenia mobilnego, karty przeglądarki lub aplikacji serwerowej z bazą danych. Firebase nakłada sztywne limity na liczbę jednoczesnych połączeń z bazą danych aplikacji. Limity te mają na celu ochronę Firebase i naszych użytkowników przed nadużyciami.
Limit planu Spark wynosi 100 i nie można go podnieść. Plany Flame i Blaze mają limit 200 000 jednoczesnych połączeń na bazę danych.
Ten limit nie jest taki sam, jak łączna liczba użytkowników Twojej aplikacji, ponieważ nie wszyscy użytkownicy łączą się jednocześnie. Jeśli potrzebujesz więcej niż 200 000 jednoczesnych połączeń, przeczytaj Skalowanie z wieloma bazami danych .
Co się stanie, jeśli przekroczę limity przechowywania lub pobierania w planie Spark dla bazy danych Realtime?
Aby zapewnić przewidywalną cenę, zasoby dostępne w planach Spark są ograniczone. Oznacza to, że jeśli w dowolnym miesiącu przekroczysz limit dowolnego planu, Twoja aplikacja zostanie wyłączona, aby zapobiec dalszemu wykorzystaniu zasobów i dodatkowym opłatom.
Co się stanie, jeśli przekroczę limity jednoczesnych połączeń planu Spark dla bazy danych czasu rzeczywistego?
Kiedy Twoja aplikacja osiągnie limit współbieżności w planie Spark, wszelkie kolejne połączenia będą odrzucane do czasu zamknięcia niektórych istniejących połączeń. Aplikacja będzie nadal działać dla użytkowników, którzy są połączeni.
Jak działa integracja Firebase z Google Cloud?
Firebase jest głęboko zintegrowany z Google Cloud . Projekty są współdzielone pomiędzy Firebase i Google Cloud, więc w projektach można włączyć usługi Firebase i Google Cloud. Dostęp do tego samego projektu możesz uzyskać z konsoli Firebase lub konsoli Google Cloud. Konkretnie:
Niektóre produkty Firebase są obsługiwane bezpośrednio przez Google Cloud, np. Cloud Storage dla Firebase. Lista produktów wspieranych przez Google Cloud będzie z czasem rosnąć.
Wiele Twoich ustawień, w tym współpracowników i informacje rozliczeniowe, jest udostępnianych przez Firebase i Google Cloud. Twoje wykorzystanie zarówno Firebase, jak i Google Cloud jest widoczne na tym samym rachunku.
Ponadto po przejściu na plan Blaze możesz korzystać ze światowej klasy rozwiązań Infrastructure-as-a-Service i interfejsów API Google Cloud bezpośrednio w projekcie Firebase, po standardowych cenach Google Cloud . Możesz także eksportować dane z Google Cloud bezpośrednio do BigQuery w celu analizy. Więcej informacji znajdziesz w artykule Łączenie BigQuery z Firebase.
Korzystanie z Google Cloud z Firebase zapewnia wiele korzyści zwiększających bezpieczeństwo, zmniejszających opóźnienia i oszczędzających czas (w porównaniu z innymi usługami w chmurze, które nie są kolokowane). Więcej szczegółów znajdziesz na stronie Google Cloud .
Co stanie się z moim projektem Firebase, jeśli dodam lub usunę konta rozliczeniowe dla tego projektu w konsoli Google Cloud?
Jeśli konto rozliczeniowe Cloud zostanie dodane do projektu w konsoli Google Cloud, ten sam projekt zostanie automatycznie uaktualniony do planu Firebase Blaze, jeśli ten projekt jest obecnie objęty planem Spark.
Natomiast jeśli istniejące aktywne konto rozliczeniowe Cloud zostanie usunięte z projektu w konsoli Google Cloud, wersja tego projektu zostanie obniżona do planu Firebase Spark.
Czy mogę w dowolnym momencie uaktualnić, obniżyć lub anulować subskrypcję?
Tak, możesz uaktualnić, obniżyć lub anulować w dowolnym momencie. Pamiętaj, że nie zapewniamy proporcjonalnych zwrotów kosztów za niższą wersję lub anulowanie rezerwacji. Oznacza to, że jeśli przejdziesz na niższą wersję lub anulujesz subskrypcję przed końcem okresu rozliczeniowego, nadal będziesz płacić za pozostałą część miesiąca.
Jakiego rodzaju wsparcie otrzymam?
Wszystkie aplikacje Firebase, w tym te korzystające z planów bezpłatnych, są objęte wsparciem e-mailowym od pracowników Firebase w godzinach pracy w regionie Pacyfiku w USA. Wszystkie konta oferują nieograniczone wsparcie w zakresie problemów związanych z rozliczeniami, problemami związanymi z kontem, pytaniami technicznymi (rozwiązywanie problemów) i raportami incydentów.
Czy mogę ograniczyć wykorzystanie planu Blaze?
Nie, obecnie nie możesz ograniczyć wykorzystania planu Blaze. Oceniamy możliwości obsługi ograniczeń wykorzystania planu Blaze.
Użytkownicy Blaze mogą zdefiniować budżet swojego projektu lub konta i otrzymywać powiadomienia, gdy ich wydatki zbliżają się do tych limitów. Dowiedz się, jak skonfigurować alerty dotyczące budżetu .
Co to są automatyczne kopie zapasowe? Czy oferujecie kopie zapasowe co godzinę?
Automatyczne kopie zapasowe to zaawansowana funkcja dostępna dla klientów korzystających z naszego planu cenowego Blaze, która raz dziennie tworzy kopię zapasową danych bazy danych Firebase Realtime Database i przesyła ją do Google Cloud Storage .
Nie oferujemy godzinnych kopii zapasowych.
Czy oferujecie zniżki na programy typu open source, organizacje non-profit lub edukacyjne?
Z naszego planu Spark mogą korzystać dowolne osoby lub organizacje, w tym organizacje non-profit, szkoły i projekty typu open source. Ponieważ plany te obejmują już duże limity, nie oferujemy żadnych specjalnych zniżek ani planów dla projektów typu open source, non-profit ani edukacyjnych.
Czy oferujecie umowy dla przedsiębiorstw, ceny, wsparcie lub hosting z dedykowaną infrastrukturą?
Nasz plan Blaze jest odpowiedni dla przedsiębiorstw o każdej wielkości, a nasza SLA spełnia lub przekracza standard branżowy dla infrastruktury chmurowej. Jednak obecnie nie oferujemy umów przedsiębiorstwa, cen ani wsparcia, ani nie oferujemy dedykowanego hostingu infrastruktury (to znaczy instalacji lokalnych) dla usług takich jak nasza baza danych w czasie rzeczywistym. Ciężko pracujemy nad dodaniem niektórych z tych funkcji.
Czy oferujesz ceny ad hoc? Chcę tylko płacić za jedną lub dwie funkcje.
Oferujemy ceny ad hoc w planie Blaze, w którym płacisz tylko za używane funkcje.
W jaki sposób płatne plany bazy ognistej działają z reklamami? Czy nie ma żadnych kredytów reklamowych z płatnymi planami?
Plany cenowe Firebase są odrębne od reklam, więc nie ma żadnych kredytów reklamowych bez kosztów. Jako programista Firebase możesz „połączyć” swoje konto reklam z FireBase w celu obsługi śledzenia konwersji.
Wszystkie kampanie reklamowe są zarządzane bezpośrednio w reklamach, a fakturowanie reklam jest zarządzane z konsoli ADS.
Ceny Cloud Functions
Dlaczego potrzebuję konta rozliczeniowego, aby korzystać z funkcji chmur dla Firebase?
Funkcje w chmurze dla FireBase opierają się na niektórych płatnych usług Google. Wdrażania nowych funkcji za pomocą FireBase CLI 11.2.0 i wyższej opierają się na budowie chmur i rejestrze artefaktów . Wdrożenia w starszych wersjach używają w chmurze w ten sam sposób, ale polegają na rejestrze kontenerów i przechowywania w chmurze w celu przechowywania zamiast rejestru artefaktowego. Wykorzystanie tych usług zostanie rozliczone oprócz istniejących cen.
Miejsce przechowywania dla Firebase CLI 11.2.0 i nowsze wersje
Rejestr artefaktu zapewnia kontenery, w których działają funkcje. Rejestr artefaktu zapewnia pierwsze 500 MB bez żadnych kosztów, więc pierwsze wdrożenia funkcji mogą nie ponieść żadnych opłat. Powyżej tego progu każde dodatkowe GB pamięci jest rozliczane na 0,10 USD miesięcznie.
Miejsce przechowywania dla Firebase CLI 11.1.x i wcześniejsze wersje
W przypadku funkcji wdrożonych w starszych wersjach rejestr kontenerów zapewnia kontenery, w których działają funkcje. Zostaniesz rozliczany dla każdego kontenera wymaganego do wdrożenia funkcji. Możesz zauważyć małe opłaty za każdy przechowywany pojemnik - na przykład 1 GB pamięci masowej jest rozliczany na 0,026 USD miesięcznie .
Aby dowiedzieć się więcej o tym, jak może się zmienić rachunek, przejrzyj następujące
Czy funkcje chmur dla Firebase nadal nie mają zastosowania?
Tak. W planie Blaze funkcje w chmurze zapewniają brak kosztów dla inwokacji, czasu obliczeniowego i ruchu internetowego. Pierwsze 2 000 000 inwokacji, 400 000 GB-SEC, 200 000 procesorów i 5 GB ruchu w Internecie jest dostarczane bez żadnych kosztów każdego miesiąca. Zostaniesz obciążony tylko za korzystanie z tych progów.
Po pierwszych 500 MB pamięci braku kosztów każda operacja wdrażania będzie ponosiła małe opłaty za przestrzeń do przechowywania używaną dla kontenera funkcji. Jeśli proces rozwoju zależy od wdrażania funkcji testowania, możesz jeszcze bardziej zminimalizować koszty, korzystając z lokalnego pakietu emulatora Firebase podczas rozwoju.
Czy Firebase planuje podnieść kwoty i granice funkcji chmur dla Firebase?
Nie. Nie ma planów zmiany kwot, z wyjątkiem usunięcia maksymalnego limitu czasu kompilacji; Zamiast otrzymywać błędy lub ostrzeżenia, gdy osiągnie się codzienna kwota kompilacji wynosząca 120 minut, zostaniesz rozliczany zgodnie z warunkami planu cen Blaze. Zobacz kwoty i limity .
Czy mogę uzyskać kredyt Google Cloud 300 $?
Tak, możesz utworzyć konto rozliczeniowe w chmurze w konsoli Google Cloud, aby uzyskać kredyt w wysokości 300 USD, a następnie połączyć to konto rozliczeniowe w chmurze do projektu Firebase.
Więcej informacji na temat kredytu Google Cloud tutaj .
Pamiętaj, że jeśli to zrobisz, musisz skonfigurować plan cen Blaze w konsoli Firebase, aby projekt mógł kontynuować działanie po wyczerpaniu kredytu w wysokości 300 USD.
Chcę śledzić kodelab, aby dowiedzieć się o Firebase. Czy możesz dać mi tymczasowe konto rozliczeniowe?
Nie, przepraszam. Możesz użyć emulatora FireBase do rozwoju bez konta rozliczeniowego w chmurze. Alternatywnie, spróbuj złożyć wniosek o bezpłatną próbę Google Cloud . Jeśli nadal masz problem z płaceniem rachunku z powodu tej zmiany, skontaktuj się z wsparciem FireBase.
Martwię się, że zgromadzę ogromny rachunek.
Możesz skonfigurować alerty budżetowe w konsoli Google Cloud, aby pomóc kontrolować koszty. Możesz także ustalić limity liczby rozliczanych instancji utworzonych dla każdej z twoich funkcji. Aby uzyskać pomysł na koszt typowych scenariuszy, zobacz przykłady wyceny funkcji w chmurze .
Jak mogę sprawdzić moje obecne opłaty rozliczeniowe?
Aby skorzystać z rozszerzeń, musisz uaktualnić do planu cen Blaze. Zostaniesz obciążony niewielką kwotą (zwykle około 0,01 USD miesięcznie za zasoby Firebase wymagane przez każde instalowane rozszerzenie (nawet jeśli nie są używane), oprócz opłat związanych z korzystaniem z usług Firebase.
Przechowywanie w chmurze do cen Firebase
Jak mogę przewidzieć, ile zostanę obciążony operacją przesyłania i pobierania?
Odwiedź stronę ceny Firebase i skorzystaj z kalkulatora planu Blaze . Kalkulator wymienia wszystkie typy użytkowania do przechowywania w chmurze dla Firebase.
Co się stanie, jeśli przekroczę przesyłanie, pobieranie lub przechowywanie planu Spark dla przechowywania w chmurze dla Firebase?
Gdy przekroczysz limity przechowywania w chmurze w projekcie w planie Spark, wynik zależy od rodzaju przekraczanego limitu:
Jeśli przekroczysz przechowywany limit GB , nie będziesz w stanie przechowywać żadnych danych w tym projekcie, chyba że usuniesz niektóre dane przechowywane lub aktualizowane do planu, który zapewnia większą przestrzeń do przechowywania lub nieograniczoną przestrzeń do przechowywania.
Jeśli przekroczysz limit pobrany GB , Twoja aplikacja nie będzie mogła pobrać więcej danych do następnego dnia (od północy, czas Pacyfiku), chyba że uaktualisz się do planu o mniej restrykcyjnych limitach lub bez ograniczeń.
Jeśli przekroczysz limit operacji przesyłania lub pobierania , Twoja aplikacja nie będzie mogła przesyłać ani pobierać więcej danych do następnego dnia (od północy, czas na Pacyfiku), chyba że uaktualniesz do planu o mniej restrykcyjnych limitach lub bez żadnych ograniczeń restrykcyjnych lub bez żadnych ograniczeń restrykcyjnych lub nie ma limity.
Prywatność
Gdzie mogę znaleźć informacje o prywatności i bezpieczeństwie w Firebase?
Czy Firebase SDK rejestrują jakieś informacje o użyciu/diagnostyce poza analizą?
Tak. Jest to obecnie tylko iOS, ale może się zmienić w przyszłości. Platformy FireBase Apple SDK domyślnie zawiera framework FirebaseCoreDiagnostics . Ramy te są wykorzystywane przez FireBase do zbierania informacji o użyciu i diagnostyce SDK, aby pomóc w nadaniu priorytetów przyszłych ulepszeń produktów. FirebaseCoreDiagnostics jest opcjonalny, więc jeśli chcesz zrezygnować z wysyłania dzienników diagnostycznych FireBase, możesz to zrobić, odłączając bibliotekę z aplikacji. Możesz przeglądać pełne źródło, w tym zarejestrowane wartości, na GitHub
Testowanie A/B
Testowanie A/B: Ile eksperymentów mogę utworzyć i uruchomić?
Masz do 300 eksperymentów na projekt, które mogą polegać na do 24 eksperymentów z uruchamianiem, a reszta jako szkic lub zakończona.
Testowanie A/B: Dlaczego nie mogę obejrzeć moich eksperymentów po odliczeniu i ponownym licytowaniu mojego projektu do Google Analytics?
Łączenie z inną właściwością Google Analytics spowoduje utratę dostępu do eksperymentów utworzonych wcześniej. Aby odzyskać dostęp do poprzedniego eksperymentu, ponownie połącz swój projekt do właściwości Google Analytics, która została powiązana po utworzeniu eksperymentu.
Testowanie A/B: Dlaczego otrzymuję komunikat „Projekt nie jest powiązany z Google Analytics” podczas tworzenia zdalnego eksperymentu konfiguracyjnego?
Jeśli już połączyłeś FireBase i Google Analytics , ale nadal zobacz wiadomość, że Google Analytics nie jest powiązany, upewnij się, że strumień analityki istnieje dla wszystkich aplikacji w twoim projekcie. Obecnie wszystkie aplikacje w projekcie muszą być podłączone do strumienia Google Analytics, aby użyć testowania A/B.
Listę wszystkich aktywnych strumieni można znaleźć na stronie szczegółów integracji Google Analytics w konsoli FireBase, dostępnej z settingsprojektu ustawieńchevron_rightIntegracschevron_rightGoogle Analyticschevron_rightManage .
Tworzenie strumienia Google Analytics dla każdej aplikacji, która nie ma, powinna rozwiązać problem. Istnieje kilka sposobów tworzenia strumieni dla brakujących aplikacji:
Jeśli masz tylko jedną lub dwie aplikacje brakujące powiązanego strumienia Google Analytics, możesz wybrać jedną z następujących metod, aby dodać strumień Google Analytics:
Usuń i ponownie dodaj dowolną aplikację bez aktywnego strumienia w konsoli Firebase.
W konsoli Google Analytics wybierz administrator , kliknij strumienie danych , a następnie kliknij Dodaj strumień , dodaj szczegółowe informacje o braku aplikacji i kliknij aplikację zarejestruj .
Jeśli masz więcej niż kilka brakujących strumieni aplikacji, nierównomierność i uzupełnienie właściwości Google Analytics jest najszybszym i najbardziej wydajnym sposobem na tworzenie brakujących strumieni aplikacji:
W karcie Google Analytics kliknij Udostępnij Ustawienia FireBase i Google Analytics.
Zanotuj identyfikator właściwości Google Analytics i połączone konto Google Analytics .
Kliknij more_vertwięcej i wybierz analitykę UNLINK z tego projektu .
Przejrzyj ostrzeżenie, które się pojawia (nie martw się tutaj; w następnym kroku powiązasz tę samą właściwość), a następnie kliknij Unlink Google Analytics .
Po ukończeniu odliczenia zostaniesz przekierowany na stronę integracji .
W karcie Google Analytics kliknij Enable , aby rozpocząć proces uzupełniania.
Wybierz swoje konto Analytics z listy Wybierz konto .
Obok automatycznie utwórz nową właściwość na tym koncie , kliknij editedytuj i, z wyświetlonej listy właściwości Analytics , wybierz identyfikator właściwości.
Pojawia się lista wszystkich aplikacji w twoim projekcie. Istniejące mapowania strumienia dla każdej aplikacji są wymienione, a aplikacje, które nie mają strumienia, będą dla nich utworzone.
Kliknij Włącz Google Analytics , aby powiązać właściwość.
Google Analytics : Musisz mieć rolę edycji lub zarządzać rolą użytkowników dla nieruchomości powiązanej z projektem FireBase. Ucz się więcej.
ADMOB: Czy wielu użytkowników w tym samym linku do konta Admob może uprzejmie aplikacje i aplikacje Firebase?
W przypadku konta administratora wielu użytkowników użytkownik, który utworzył pierwszy łącze FireBase i zaakceptował Warunki usług Firebase, jest jedynym użytkownikiem, który może tworzyć nowe linki między aplikacjami Admob i aplikacjami FireBase.
Admob: używać Admob, z jakich SDK powinienem użyć?
Aby korzystać z Admob, zawsze używaj Google Mobile Ads SDK, jak opisano w tym FAQ. Dodatkowo i opcjonalnie, jeśli chcesz zbierać wskaźniki użytkowników dla Admob, dołącz SDK FireBase dla Google Analytics w swojej aplikacji.
W przypadku projektów z Androidem : Dodaj zależność od Google Mobile Ads SDK do pliku build.gradle : implementation 'com.google.android.gms:play-services-ads:23.0.0'
Analytics: Dlaczego Google Analytics jest zalecaną częścią korzystania z produktów FireBase?
Google Analytics to bezpłatne i nieograniczone rozwiązanie analityczne, które działa z funkcjami FireBase w celu zapewnienia potężnych informacji. Umożliwia przeglądanie dzienników zdarzeń w Crashlytics, skuteczności powiadomień w FCM, głębokie wydajność linków dla dynamicznych linków i dane zakupowe w aplikacji w Google Play. Zasługa zaawansowane celowanie odbiorców w konfiguracji zdalnej, personalizacji konfiguracji zdalnej i innych.
Google Analytics działa jako warstwa inteligencji w konsoli Firebase, aby zapewnić bardziej możliwe do działania wgląd w to, jak opracować aplikację wysokiej jakości, rozwinąć bazę użytkowników i zarobić więcej pieniędzy.
Analityka: Jak mogę kontrolować, w jaki sposób moje dane analityczne są udostępniane reszcie Firebase?
Domyślnie dane Google Analytics są używane do ulepszenia innych funkcji Firebase i Google. Możesz kontrolować sposób udostępniania danych Google Analytics w ustawieniach projektu w dowolnym momencie. Dowiedz się więcej o ustawieniach udostępniania danych .
Analytics: Jak zaktualizować ustawienia właściwości analityki?
Na stronie administratora w swojej właściwości Google Analytics możesz zaktualizować ustawienia właściwości, takie jak:
Ustawienia udostępniania danych
Ustawienia przechowywania danych
Strefa czasowa i ustawienia walutowe
Aby zaktualizować ustawienia właściwości, wykonaj następujące kroki:
Analytics: Dlaczego nie widzę żadnych danych analitycznych w konsoli Firebase po unowaniu bazy ogniowej od Google Analytics?
Dane Analytics znajdują się w ramach właściwości Google Analytics - nie w ramach projektu FireBase. Jeśli usuniesz lub odłączysz właściwość, dane analityczne nie będą dostępne dla FireBase, a zobaczysz pulpit Pusty Analytics w konsoli Firebase. Zauważ, że ponieważ dane nadal znajdują się w wcześniej połączonej właściwości, zawsze możesz powiązać właściwość do Firebase i zobaczyć dane analityczne w konsoli Firebase.
Połączenie zupełnie nowego konta Google Analytics (a tym samym nowej właściwości Google Analytics z projektem Firebase spowoduje puste pulpit analityczny w konsoli Firebase. Jeśli jednak wcześniej powiązana nieruchomość nadal istnieje, możesz przenieść istniejące dane ze starej właściwości do nowej właściwości.
Analityka: Jeśli moja właściwość analityczna i jej dane zostały usunięte, czy istnieje sposób, aby je odzyskać?
Nie. Jeśli Twoja nieruchomość została usunięta, nie można rozwiązać właściwości lub odzyskać wcześniej zebrane dane analityczne przechowywane w tej właściwości.
Jeśli chcesz ponownie zacząć korzystać z Google Analytics, możesz połączyć nową właściwość lub istniejącą właściwość do projektu FireBase. Możesz to zrobić w konsoli Firebase lub interfejs użytkownika Google Analytics. Dowiedz się więcej o łączeniu właściwości Google Analytics z projektem FireBase.
Analityka: Jeśli moja właściwość analityczna została usunięta, czy mogę połączyć nową właściwość Google Analytics z moim projektem Firebase i ponownie zacząć korzystać z analityki?
Jeśli chcesz ponownie zacząć korzystać z Google Analytics, możesz połączyć nową właściwość lub istniejącą właściwość do projektu FireBase. Możesz to zrobić w konsoli Firebase lub interfejs użytkownika Google Analytics. Dowiedz się więcej o łączeniu właściwości Google Analytics z projektem FireBase.
Należy zauważyć, że ponieważ wszystkie dane analityczne są przechowywane we właściwości (nie projekt Firebase), wcześniej zebrane dane analityczne nie mogą być odzyskane.
Analityka: Jak wpłynie na produkty Firebase lub zintegrowane produkty Google na usunięcie mojej właściwości analitycznej?
Kilka produktów FireBase opiera się na integracji Google Analytics. Jeśli Twoja właściwość Analytics i jej dane zostaną usunięte, następujące nastąpi, jeśli użyjesz następujących produktów:
Crashlytics-nie możesz już zobaczyć użytkowników wolnych od zderzeni, dzienników tartej i/lub powiadomień prędkości.
Przesyłanie wiadomości w chmurze i wiadomości w aplikacji-nie można już korzystać z etykiet celowania, wskaźników kampanii, segmentacji odbiorców i analizy.
Konfiguracja zdalna - nie można już korzystać z ukierunkowanych konfiguracji ani personalizacji.
Testowanie A/B - Nie możesz już korzystać z testowania A/B, ponieważ pomiar eksperymentu jest dostarczany przez Google Analytics.
Linki dynamiczne - każda funkcja, która opiera się na danych z Google Analytics, zostanie zakłócona.
Analityka: Jak podzielić się użytkownikom, którzy nie spełniali jakiegoś kryterium?
Możesz zmienić problem, „negatywnie ukierunkowane” na tych użytkowników. Na przykład przeformułuj problem, ponieważ „nie pokazuj reklam osobom, które coś kupili” i tworzą odbiorców tych użytkowników docelowych.
Analityka: Czy w interfejsie Google Analytics jest definiowane odbiorców i/lub zdarzenia, są również dostępne w konsoli Firebase?
Twoi odbiorcy i właściwości użytkownika zostaną zsynchronizowane. W przypadku niektórych funkcji musisz użyć interfejsu Google Analytics, takiego jak segmentacja i zamknięte lejki. Możesz uzyskać dostęp do interfejsu Google Analytics bezpośrednio za pośrednictwem głębokich łączy z konsoli Firebase.
Wszelkie zmiany z konsoli Firebase można również przeprowadzić w Google Analytics, a zmiany te zostaną odzwierciedlone w bazie Fire.
Uwierzytelnianie
Uwierzytelnianie Firebase: Które kraje są obsługiwane do uwierzytelniania telefonu?
Uwierzytelnianie FireBase obsługuje weryfikację numeru telefonu na całym świecie, ale nie wszystkie sieci niezawodnie dostarczają naszych komunikatów weryfikacyjnych. Następujące kraje mają dobre wskaźniki dostawy i należy oczekiwać, że będą działać dobrze dla zalogowania numeru telefonu.
Kraj
Kod
OGŁOSZENIE
Andora
AE
Zjednoczone Emiraty Arabskie
Af
Afganistan
AG
Antigua i Barbuda
glin
Albania
JESTEM
Armenia
AO
Angola
AR
Argentyna
JAK
Samoa Amerykańskie
NA
Austria
UA
Australia
AW
Aruba
AZ
Azerbejdżan
BA
Bośnia i Hercegowina
nocleg ze śniadaniem
Barbados
BD
Bangladesz
BYĆ
Belgia
BF
Burkina Faso
BG
Bułgaria
BJ
Benin
BM
Bermudy
BN
Brunei Darussalam
BO
Boliwia
BR
Brazylia
licencjat
Bahamy
BT
Bhutan
BW
Botswana
PRZEZ
Białoruś
BZ
Belize
Kalifornia
Kanada
płyta CD
Kongo, (Kinszasa)
CF
Republika Środkowoafrykańska
CG
Kongo (Brazzaville)
CH
Szwajcaria
CI
Wybrzeże Kości Słoniowej
CK
Wyspy Cooka
KL
Chile
CM
Kamerun
WSPÓŁ
Kolumbia
CR
Kostaryka
CV
Wyspy Zielonego Przylądka
CW
Curacao
CY
Cypr
CZ
Republika Czeska
DE
Niemcy
DJ
Dżibuti
DK
Dania
DM
Dominika
DO
Republika Dominikany
DZ
Algieria
WE
Ekwador
NP
Egipt
ES
Hiszpania
ET
Etiopia
FI
Finlandia
FJ
Fidżi
FK
Falklandy (Malwiny)
FM
Mikronezja, Sfederowane Stany
FO
Wyspy Owcze
FR
Francja
GA
Gabon
GB
Zjednoczone Królestwo
GD
Grenada
GE
Gruzja
GF
Gujana Francuska
GG
Guernsey
GH
Ghana
żołnierz amerykański
Gibraltar
GL
Grenlandia
GM
Gambia
GP
Gwadelupa
GQ
Gwinea Równikowa
GR
Grecja
GT
Gwatemala
GY
Gujana
HK
Hongkong, SAR Chiny
HN
Honduras
HR
Chorwacja
HT
Haiti
HU
Węgry
ID
Indonezja
TJ
Irlandia
IL
Izrael
JESTEM
Wyspa Man
W
Indie
ILORAZ INTELIGENCJI
Irak
TO
Włochy
JE
Golf
JM
Jamajka
JO
Jordania
JP
Japonia
KE
Kenia
KG
Kirgistan
KH
Kambodża
KM
Komory
KN
Saint Kitts i Nevis
KR
Korea Południowa)
KW
Kuwejt
KY
Kajmany
KZ
Kazachstan
LA
Lao PDR
FUNT
Liban
LC
święta Lucia
LI
Liechtenstein
ŁK
Sri Lanka
LS
Lesoto
LT
Litwa
LU
Luksemburg
LV
Łotwa
LY
Libia
MAMA
Maroko
lekarz medycyny
Moldova
JA
Czarnogóra
MF
Saint-Martin (część francuska)
mg
Madagaskar
MK
Macedonia, Republika
MM
Myanmar
MN
Mongolia
MO
Macao, SAR Chiny
SM
Montserrat
Mt
Malta
MU
Mauritius
MW
Malawi
MX
Meksyk
MÓJ
Malezja
MZ
Mozambik
NA
Namibia
NC
Nowa Kaledonia
NE
Niger
NF
Wyspa Norfolk
NG
Nigeria
NI
Nikaragua
Holandia
Holandia
NIE
Norwegia
NP
Nepal
NZ
Nowa Zelandia
OM
Oman
ROCZNIE
Panama
PE
Peru
PG
Papua Nowa Gwinea
PH
Filipiny
PK
Pakistan
PL
Polska
PO POŁUDNIU
Saint-Pierre i Miquelon
PR
Portoryko
PS
terytorium palestyńskie
P.T
Portugalia
PY
Paragwaj
Kontrola jakości
Katar
ODNOŚNIE
Zjazd
RO
Rumunia
RS
Serbia
RU
Federacja Rosyjska
RW
Rwanda
SA
Arabia Saudyjska
SC
Seszele
SE
Szwecja
SG
Singapur
CII
Święta Helena
SI
Słowenia
SK
Słowacja
SL
Sierra Leone
SN
Senegal
SR
Surinam
ST
Sao Tome i Principe
SV
Salwador
SZ
Suazi
współwłaściciel
Wyspy Turks i Caicos
TG
Iść
TH
Tajlandia
TL
Timor Wschodni
TM
Turkmenia
DO
Tonga
TR
Indyk
TT
Trynidad i Tobago
TW
Tajwan, Republika Chin
TZ
Tanzania, Zjednoczona Republika
UA
Ukraina
UG
Uganda
NAS
Stany Zjednoczone Ameryki
UY
Urugwaj
UZ
Uzbekistan
VC
Święty Vincent i Grenadyny
VE
Wenezuela (Republika Bolivarian)
VG
Brytyjskie Wyspy Dziewicze
VI
Wyspy Dziewicze, USA
VN
Wietnam
WS
Samoa
CZŁEK
Jemen
YT
Majotta
ZA
Afryka Południowa
ZM
Zambia
ZARAZ WRACAM
Zimbabwe
Uwierzytelnianie Firebase: Jak zapobiec nadużywaniu SMS podczas korzystania z uwierzytelniania telefonu?
Aby chronić swój projekt przed pompowaniem ruchu SMS i nadużywaniem interfejsu API, wykonaj następujące kroki:
Poszukaj regionów z bardzo dużą liczbą wysłanych SMS -ów i bardzo małą liczbą (lub zerową) zweryfikowanych SMS -ów. Stosunek zweryfikowanego/wysłanego jest twoim wskaźnikiem sukcesu. Wskaźniki zdrowego sukcesu są zwykle w zakresie 70-85%, ponieważ SMS nie jest gwarantowanym protokołem dostawy, a niektóre regiony mogą doświadczyć nadużycia. Wskaźniki sukcesu poniżej 50% sugerują wiele wysyłanych SMS -ów, ale kilka udanych loginów, co jest wspólnym wskaźnikiem złych aktorów i pompowania ruchu SMS.
Użyj polityki regionu SMS, aby odmówić regionów SMS o niskich wskaźnikach sukcesu, albo zezwolić na niektóre regiony tylko wtedy, gdy Twoja aplikacja jest przeznaczona tylko do dystrybucji na niektórych rynkach.
Ogranicz swoje autoryzowane domeny uwierzytelniania
Użyj deski rozdzielczej Ustawienia uwierzytelniania, aby zarządzać autoryzowanymi domenami. Domena localhost jest domyślnie dodawana do zatwierdzonych domen uwierzytelniania w celu uproszczenia rozwoju. Rozważ usunięcie localhost z autoryzowanych domen w twoim projekcie produkcyjnym , aby uniemożliwić złym aktorom uruchomienie kodu w swoimlocalhost w celu uzyskania dostępu do projektu produkcyjnego.
Włącz i egzekwuj kontrolę aplikacji
Włącz kontrolę aplikacji , aby pomóc w ochronie projektu przed nadużywaniem interfejsu API, potwierdzając, że żądania pochodzą tylko z aplikacji powiązanych z Twoim projektem.
Pamiętaj, że musisz egzekwować sprawdzenie aplikacji w celu uwierzytelnienia w konsoli Firebase (rozważ monitorowanie ruchu przed egzekwowaniem). Dokładnie sprawdź również listę witryn zatwierdzonych przez Recaptcha Enterprise , aby potwierdzić, że zawiera ona tylko witryny produkcyjne i że lista aplikacji zarejestrowanych na projekt w sprawie aplikacji jest dokładna.
Pamiętaj, że kontrola aplikacji pomaga chronić się przed zautomatyzowanymi atakami, twierdząc, że połączenie pochodzi z jednej z zarejestrowanych aplikacji. Nie uniemożliwia użytkownikom korzystania z aplikacji w niezamierzone sposoby (na przykład rozpoczynając, czy nigdy nie kończyć przepływów logowania w celu wygenerowania wysłanych SMS).
Uwierzytelnianie Firebase: W mojej aplikacji na Androida, dlaczego otrzymuję następujący błąd: Google sign in failed ?
Postępuj zgodnie z krokami rozwiązywania problemów w tym FAQ, jeśli otrzymujesz następujący błąd:
GoogleFragment: Google sign in failed
com.google.android.gms.common.api.ApiException: 13: Unable to get token.
at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
Upewnij się, że logowanie Google jest poprawnie włączone jako dostawca uwierzytelnienia:
Sprawdź, czy nadal otrzymujesz błąd. Jeśli tak, przejdź do następnego etapu rozwiązywania problemów.
Upewnij się, że obecni są wymagane klienci OAuth 2.0.
Na stronie poświadczeń konsoli Google Cloud Spójrz w sekcji IDS klienta OAuth 2.0 .
Jeśli klienci OAuth 2.0 nie są obecni (i wykonałeś wszystkie powyższe kroki rozwiązywania problemów), skontaktuj się z obsługą .
Uwierzytelnianie Firebase: W mojej aplikacji na platformę Apple, dlaczego otrzymuję następujący błąd: You must specify <clientID> in <GIDConfiguration> ?
Postępuj zgodnie z krokami rozwiązywania problemów w tym FAQ, jeśli otrzymujesz następujący błąd:
You must specify |clientID| in |GIDConfiguration|
Upewnij się, że logowanie Google jest poprawnie włączone jako dostawca uwierzytelnienia:
W zakładce Method Waspey In Extled , a następnie ponownie włącz metodę logowania Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google , wyłącz ją, a następnie kliknij Zapisz .
Ponownie otwórz metodę logowania Google , włącz ją, a następnie kliknij Zapisz .
Ponadto w konfiguracji dostawcy logowania Google w sekcji uwierzytelniania upewnij się, że identyfikator klienta OAuth i tajne pasują do klienta internetowego wyświetlanego na stronie poświadczeń konsoli Google Cloud (patrz w sekcji IDS klienta OAuth 2.0 ).
Uwierzytelnianie Firebase: W mojej aplikacji internetowej, dlaczego logowanie się z przekierowaniami niepowodzenia z następującym błędem: This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation ?
Postępuj zgodnie z krokami rozwiązywania problemów w tym FAQ, jeśli otrzymujesz następujący błąd:
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
Ten błąd jest najprawdopodobniej spowodowany, ponieważ domena przekierowania nie jest wymieniona jako autoryzowana domena uwierzytelniania bazy ogniowej lub klucz API, którego używasz z usługą uwierzytelniania FireBase, jest nieprawidłowy.
Najpierw upewnij się, że YOUR_REDIRECT_DOMAIN znajduje się na liście autoryzowanych domen do projektu Firebase. Jeśli Twoja domena przekierowania jest już tam wymieniona, kontynuuj rozwiązywanie problemów z nieprawidłowym kluczem API.
Domyślnie uwierzytelnianie FireBase JS SDK opiera się na kluczu API dla projektu FireBase, który jest oznaczony jako Browser key , i używa tego klucza do sprawdzenia, czy adres URL z przekierowywaniem jest ważny zgodnie z listą autoryzowanych domen. Uwierzytelnianie otrzymuje ten klawisz API w zależności od sposobu dostępu do uwierzytelnienia SDK:
Jeśli używasz pomocników uwierzytelniających hosting, aby zarejestrować użytkowników za pomocą uwierzytelnienia JS SDK, wówczas FireBase automatycznie uzyskuje klucz API z resztą konfiguracji Firebase za każdym razem, gdy wdrażasz się w hostingu FireBase. Upewnij się, że authDomain w aplikacji internetowej firebaseConfig jest odpowiednio skonfigurowana do korzystania z jednej z domen dla tej witryny hostingowej. Możesz to zweryfikować, przechodząc na https:// authDomain __/firebase/init.json i sprawdzając, czy projectId pasuje to z twojego firebaseConfig .
Jeśli samodzielnie zaloguj się kod logowania , możesz użyć pliku __/firebase/init.json aby zapewnić konfigurację FireBase do samozwańczego uwierzytelniania JS SDK przekierowanie. Klucz API i projectId podany w tym pliku konfiguracyjnym powinny pasować do Twojej aplikacji internetowej firebaseConfig .
Sprawdź, czy ten klawisz API nie został usunięty: Przejdź do panelu API & Services> Poświadczenia w Konsole Google Cloud, gdzie wymieniono wszystkie klucze API dla Twojego projektu.
Jeśli Browser keynie został usunięty, sprawdź następujące czynności:
Jeśli samodzielnie zaloguj się kod logowania, upewnij się, że klucz API wymieniony w pliku __/firebase/init.json pasuje do klucza API w konsoli chmurowej. W razie potrzeby popraw klucz do pliku, a następnie ponownie wdrożyć aplikację.
Jeśli Browser key został usunięty, możesz mieć dla siebie nowy klucz API: W konsoli Firebase przejdź do settings > Ustawienia projektu , a następnie w sekcji aplikacji kliknij aplikację internetową. Ta akcja automatycznie tworzy klucz API, który można zobaczyć w sekcji konfiguracji i konfiguracji SDK dla Twojej aplikacji internetowej.
Zauważ, że w konsoli chmurowej ten nowy klawisz API nie będzie nazywany Browser key ; Zamiast tego będzie to ta sama nazwa, co pseudonim Twojej aplikacji FireBase. Jeśli zdecydujesz się na dodanie ograniczeń API do tego nowego klucza API, upewnij się, że API uwierzytelniania FireBase znajduje się na liście dozwolonych interfejsów API.
Po utworzeniu nowego klucza API wypełnij poniższe kroki:
Jeśli używasz zarezerwowanych adresów URL hostingowych , przenieś aplikację do FireBase, aby mogła automatycznie uzyskać nowy klucz API z resztą konfiguracji Firebase.
W zakładce Method w logowania otwórz dostawcę logowania Google , a następnie wklej identyfikator klienta serwera WWW i sekret, który właśnie skonstruowałeś i skopiowałeś z Google Cloud Console. Kliknij Zapisz .
Uwierzytelnianie FireBase: W jaki sposób %APP_NAME% dla szablonu e -mail dla e -maila potwierdzającego, który można wysłać do użytkownika, gdy zarejestrują się przy użyciu adresu e -mail i hasła?
Przed grudnia 2022 r. %APP_NAME% w szablonie e -mail została wypełniona marką OAuth, która została automatycznie udostępniona za każdym razem, gdy aplikacja na Androida została zarejestrowana w projekcie FireBase. Teraz, ponieważ marka OAuth jest udostępniana tylko wtedy, gdy jest włączona logowanie Google, następujące opisano, w jaki sposób %APP_NAME% :
Jeśli nazwa marki OAuth jest dostępna, wówczas %APP_NAME% w szablonie e-mail będzie nazwą marki OAuth (tak samo jak zachowanie przed grudnia 2022).
Jeśli nazwa marki OAuth nie jest dostępna, oto jak określa się %APP_NAME% w szablonie e -mail:
W przypadku aplikacji internetowych%APP_NAME% będzie domyślną nazwą witryny hostingu FireBase (wartość poprzedzająca .firebaseapp.com i .web.app i zwykle identyfikator projektu FireBase).
W przypadku aplikacji mobilnych:
If the Android package name or iOS bundle ID is present in the request, then the %APP_NAME% will be the app name used in the Play Store or App Store (respectively).
Otherwise, the %APP_NAME% will be the default Firebase Hosting site name (the value preceding .firebaseapp.com and .web.app and usually the Firebase project ID).
Note that if the lookup of the default Firebase Hosting site name fails, then the final fallback is to use the Firebase project ID as the %APP_NAME% .
Cloud Functions
Cloud Functions runtime support
How do I upgrade to the latest supported version of Node.js?
How can I make sure I deployed my functions to a specific Node.js runtime?
In the Firebase console, go to the functions dashboard , select a function, and check the function's language under Additional details .
I use Firebase Extensions. Will I be affected by Cloud Functions runtime updates?
Tak. Since extensions use Cloud Functions , the runtime of your extensions will need to be updated on the same timeline as Cloud Functions.
We recommend that you periodically update to the latest version of each extension installed in your project. You can upgrade your projects' extensions via the Firebase console or Firebase CLI .
Cloud Messaging
Cloud Messaging: What's the difference between the Notifications composer and Cloud Messaging?
Firebase Cloud Messaging provides a complete set of messaging capabilities through its client SDKs and HTTP and XMPP server protocols. For deployments with more complex messaging requirements, FCM is the right choice.
The Notifications composer is a lightweight, serverless messaging solution built on Firebase Cloud Messaging. With a user-friendly graphical console and reduced coding requirements, the Notifications composer lets users easily send messages to reengage and retain users, foster app growth, and support marketing campaigns.
Możliwości
Notifications composer
Cloud Messaging
Cel
Single device
Clients subscribed to topics (ie weather)
Clients in predefined user segment (app, version, language)
Clients in specified analytics audiences
Clients in device groups
Upstream from client to server
Typ wiadomości
Notifications up to 2kb
Data messages up to 4kb
Dostawa
Natychmiastowy
Future client device local time
Analityka
Built-in Notifications analytics collection and funnel analytics
Cloud Messaging: Apple announced they're deprecating the legacy binary protocol for APNs. Do I need to do anything?
No. Firebase Cloud Messaging switched to the HTTP/2-based APNs protocol in 2017. If you are using FCM to send notifications to iOS devices, there should be no action required on your part.
Cloud Messaging: Do I need to use other Firebase services in order to use FCM?
You can use Firebase Cloud Messaging as a standalone component, in the same manner as you did with GCM, without using other Firebase services.
Cloud Messaging: I am an existing Google Cloud Messaging (GCM) developer. Should I move to Firebase Cloud Messaging?
FCM is the new version of GCM under the Firebase brand. It inherits GCM's core infrastructure, with new SDKs to make Cloud Messaging development easier.
Benefits of upgrading to FCM SDK include:
Simpler client development. You no longer have to write your own registration or subscription retry logic.
An out-of-the-box notification solution. You can use the Notifications composer, a serverless notifications solution with a web console that lets anyone send notifications to target specific audiences based on insights from Google Analytics.
To upgrade from GCM SDKs to FCM SDKs, see the guides for migrating Android and iOS apps.
Cloud Messaging: Why do my targeted devices apparently fail to receive messages?
When it looks like devices haven't successfully received messages, check first for these two potential causes:
Foreground message handling for notification messages . Client apps need to add message handling logic to handle notification messages when the app is in the foreground on the device. See the details for iOS and Android .
Network firewall restrictions . If your organization has a firewall that restricts the traffic to or from the Internet, you need to configure it to allow connectivity with FCM in order for your Firebase Cloud Messaging client apps to receive messages. The ports to open are:
5228
5229
5230
FCM usually uses 5228, but it sometimes uses 5229 and 5230. FCM does not provide specific IPs, so you should allow your firewall to accept outgoing connections to all IP addresses contained in the IP blocks listed in Google's ASN of 15169 .
Cloud Messaging: I have implemented onMessageReceived in my Android app, but it is not being called.
When your app is in the background, notification messages are displayed in the system tray, and onMessageReceived is not called. For notification messages with a data payload, the notification message is displayed in the system tray, and the data that was included with the notification message can be retrieved from the intent launched when the user taps on the notification.
Notifications composer: What's the difference between the Notifications composer and Cloud Messaging?
The Notifications composer is a lightweight, serverless messaging solution built on Firebase Cloud Messaging. With a user-friendly graphical console and reduced coding requirements, the Notifications composer lets users easily send messages to reengage and retain users, foster app growth, and support marketing campaigns.
Firebase Cloud Messaging provides a complete set of messaging capabilities through its client SDKs and HTTP and XMPP server protocols. For deployments with more complex messaging requirements, FCM is the right choice.
Here's a comparison of the messaging capabilities provided by Firebase Cloud Messaging and the Notifications composer:
Możliwości
Notifications composer
Cloud Messaging
Cel
Single device
Clients subscribed to topics (ie weather)
Clients in predefined user segment (app, version, language)
Clients in specified analytics audiences
Clients in device groups
Upstream from client to server
Typ wiadomości
Notifications up to 2kb
Data messages up to 4kb
Dostawa
Natychmiastowy
Future client device local time
Analityka
Built-in Notifications analytics collection and funnel analytics
Notifications composer: I am an existing Google Cloud Messaging (GCM) developer, and I want to use the Notifications composer. Co powinienem zrobić?
The Notifications composer is an out-of-the-box solution that lets anyone send notifications to target specific audiences based on insights from Google Analytics. Also, the Notifications composer provides funnel analysis for every message, allowing easy evaluation of notification effectiveness.
If you are an existing GCM developer, to use the Notifications composer you have to upgrade from GCM SDKs to FCM SDKs. See the guides for migrating Android and iOS apps.
FCM features deprecated in June 2023
Which FCM APIs were deprecated on June 20, 2023, and what should I do if I am using those APIs?
The following APIs/SDKs will be affected by the deprecation:
Server APIs
API Name
API Endpoint
Impact on users
Konieczne są działania
Legacy HTTP protocol
https://fcm.googleapis.com/fcm/send
Requests to the endpoint will start failing after 6/21/2024.
API calls to FirebaseMessaging.send in the app won't trigger upstream messages to the app server after 6/21/2024.
Implement this functionality in your server logic. For example, some developers implement their own HTTP/gRPC endpoint and call the endpoint directly to send messages from their clients to the app server. See this gRPC Quick start for an example implementation of upstream messaging using gRPC.
Batch Send API
https://fcm.googleapis.com/batch
Requests to the endpoint will start failing after 6/21/2024.
These APIs will stop working after 6/21/2024 because they call the batch send API .
Upgrade to the latest Firebase Admin SDK and use the new APIs instead: sendEach()/ sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/ send_each_for_multicast() .
Note that the new APIs no longer call the deprecated batch send API, and for this reason they may create more concurrent HTTP connections than the old APIs.
Client SDKs
SDK versions
Impact on users
Konieczne są działania
GCM SDKs (deprecated in 2018)
Apps using GCM SDKs will not be able to register tokens nor receive messages from FCM after 6/21/2024.
Upgrade your Android SDK to the latest Firebase SDK if you haven't already done so.
JS SDKs version <7.0.0 (breaking change at version 7.0.0 in 2019)
Web apps using older JS SDKs will not be able to register tokens after 6/21/2024.
Upgrade your Firebase Web SDK to the latest version.
Will I see a service downgrade before June 2024?
No. You have 12 months (06/20/2023 - 06/21/2024) to migrate from the old APIs to new APIs without any service downgrade. We strongly recommend you to plan the migration as early as possible so you won't be impacted by the decommissioning of the APIs in June 2024.
After June 2024, you may see increased errors or lack of functionality when using the APIs/SDKs listed above.
What's the difference between OAuth 2.0 tokens and server keys?
An OAuth 2.0 token is a short-lived token derived from a service account . It's Google's standard auth model and it's more secure than static server keys.
Note that the request headers differ when you use OAuth 2.0 tokens for requests to different endpoints.
HTTP v1 API : Authorization: Bearer $oauth_token
Instance ID server API and Device group management API : Authorization: Bearer $oauth_token access_token_auth: true
Can I migrate my requests to the new API all at once?
We recommend that you slowly ramp up your traffic to the new API. If you expect to send more than 600,000 messages/min on a regular basis, contact Firebase support for instructions on how to increase quota or get recommendations on how to spread out traffic.
What's the difference between the HTTP v1 API and the legacy APIs when I send messages to topics/device groups?
Topics: you don't need to add the "/topics/" prefix to your topic target when you use the v1 API.
Device groups: You can use a group token as a token target in the HTTP v1 API. However, the HTTP v1 API doesn't return the success/failure counts in the response. We recommend that you use FCM topics or manage your device groups by yourself.
Does the HTTP v1 API support sending messages to multiple tokens in one request?
No. This feature, called "multicast" in legacy HTTP APIs, is not supported by the HTTP v1 API, which is better designed for scalability.
For use cases where end-to-end latency is critical, or where total fanout size is small (fewer than 1 million), Google recommends sending multiple separate requests using the HTTP v1 API. The HTTP v1 API over HTTP/2 performs similarly for 99.9% of multicast requests (sending < 100 tokens). For outlier use cases (sending 1000 tokens), it achieves up to a third of the throughput rate, so additional concurrency is needed to optimize for this atypical use case. Users can experience more reliability and availability with the HTTP v1 API than with legacy multicast.
For use cases where throughput and egress bandwidth are prioritized or where total fanout size is large (greater than 1 million), Google recommends topic messaging. While topic messaging requires a one-time action to subscribe recipients to a topic, it offers up to a 10,000 QPS per project fanout rate without a maximum limit on topic size.
What versions of the Firebase Admin SDK have the new APIs?
Platforma
Firebase Admin SDK version
Node.js
>=11.7.0
Pyton
>=6.2.0
Jawa
>=9.2.0
Iść
>=4.12.0
.INTERNET
>=2.4.0
What's the difference between the batch send API and the HTTP v1 API?
The FCM batch send API uses the same message format and authentication mechanism as the HTTP v1 API. However, it uses a different endpoint. If you want to improve efficiency, you should consider using HTTP/2 to send multiple requests over the same HTTP connection to the HTTP v1 API.
What should I do if I can't access my project?
Please reach out to the Google Cloud support team for help.
Cloud Storage for Firebase
Cloud Storage for Firebase: Why can't I use Cloud Storage for Firebase?
Cloud Storage for Firebase creates a default bucket in the App Engine no-cost tier. This allows you to quickly get up and running with Firebase and Cloud Storage for Firebase, without having to put in a credit card or enable a Cloud Billing account. It also allows you to easily share data between Firebase and a Google Cloud project.
There are, however, two known cases where this bucket cannot be created and you will be unable to use Cloud Storage for Firebase:
A project imported from Google Cloud which had a App Engine Master/Slave Datastore application.
A project imported from Google Cloud which has domain prefixed projects. For example: domain.com:project-1234 .
There are currently no workarounds to these issues, and we recommend that you create a new project in the Firebase console and enable Cloud Storage for Firebase in that project.
Cloud Storage for Firebase: Why do I get error code 412 responses about service account permissions and failed service account operations when using the Cloud Storage for Firebase API?
It's likely you're getting 412 error codes either because the Cloud Storage for Firebase API is not enabled for your project or a necessary service account is missing the required permissions.
Cloud Storage for Firebase: On Spark plan projects, can I store executable files?
For no-cost (Spark) plan projects, Firebase blocks uploads and hosting of certain executable file types for Windows, Android and Apple by Cloud Storage for Firebase and Firebase Hosting. This policy exists to prevent abuse on our platform.
Serving, hosting and file uploads of disallowed files are blocked for all Spark projects created on or after Sept 28th, 2023. For existing Spark projects with files uploaded before that date, such files can still be uploaded and hosted.
This restriction applies to Spark plan projects. Projects on the pay as you go (Blaze) plan are not affected.
The following file types cannot be hosted on Firebase Hosting and Cloud Storage for Firebase:
Windows files with .exe , .dll and .bat extensions
Android files with .apk extension
Apple platform files with .ipa extension
Co muszę zrobić?
If you still want to host these file types after September 28th, 2023:
For Hosting: upgrade to the Blaze plan before you can deploy these file types to Firebase Hosting via the firebase deploy command.
For Storage: upgrade to the Blaze plan to upload these file types to the bucket of your choice using the GCS CLI, the Firebase console, or Google Cloud console.
Use Firebase tools to manage your Firebase Hosting and Cloud Storage resources.
For managing resources in Firebase Hosting, use the Firebase console to delete releases according to this guide .
For managing resources in Cloud Storage, navigate to the Storage product page in your project.
On the Files tab, locate disallowed files to delete in your folder hierarchy, then select them using the checkbox next to the filename(s) on the left-hand side of the panel.
Click Delete , and confirm the files were deleted.
Cloud Storage for Firebase: Why do I see an unexpected increase in upload and download operations?
Previously, download and upload requests to the Cloud Storage for Firebase API were not being counted properly. We have taken steps to fix this issue, starting from September 15, 2023.
For Blaze users, upload and download operations will start counting towards your monthly bill. For Spark users, they will start counting towards your monthly free limit.
We recommend monitoring your Usage page for any increases that may count towards your limits.
Cloud Storage for Firebase: Why do I see new service account IDs associated with my Firebase projects that use Cloud Storage for Firebase?
Firebase uses service accounts to operate and manage services without sharing user credentials. When you create a Firebase project, you might notice that a number of service accounts are already available in your project.
The service account that Cloud Storage for Firebase uses is scoped to your project and is named service- PROJECT_NUMBER @gcp-sa-firebasestorage.iam.gserviceaccount.com .
If you used Cloud Storage for Firebase before September 19, 2022, you may see an additional service account on previously-linked Cloud Storage buckets named firebase-storage@system.gserviceaccount.com . As of September 19, 2022, this service account is no longer supported.
You can view all service accounts associated with your project in the Firebase console, on the Service accounts tab .
Adding the new service account
If you removed the service account previously or the service account is not present in your project, you may do one of the following to add the account.
(Recommended) Automated: Use the AddFirebase REST endpoint to re-import your bucket into Firebase. You will only need to call this endpoint once, not once for each linked bucket.
We strongly discourage you from removing the service account because this may block access to your Cloud Storage buckets from your apps. To remove the service account from your project, follow the instructions in Disabling a service account .
Dynamic Links: Why does my Android app access each Dynamic Link twice?
The getInvitation API clears the saved Dynamic Link to prevent it from being accessed twice. Be sure to call this API with the autoLaunchDeepLink parameter set to false in each of the deep link activities to clear it for the case when the activity is triggered outside the main activity.
Firebase Local Emulator Suite
Why do Emulator Suite logs show an error starting with "Multiple projectIds are not recommended in single project mode"?
This message means the Emulator Suite has detected it may be running a particular product emulator using different project IDs. This may indicate a misconfiguration, and can cause issues when emulators try to communicate with one another, and when you try to interact with emulators from your code. If project IDs don't match, it often appears that data is missing, since data stored in emulators is keyed to projectID, and interoperability depends on matching project IDs.
This has been a common source of confusion among developers, so by default the Local Emulator Suite will now only allow running with a single project ID, unless you specify otherwise in the firebase.json configuration file. If an emulator detects more than one project ID, it will log a warning and potentially throw a fatal error.
Check your project ID declaration(s) for mismatches in:
The default project set at the command line. By default, the project ID will be taken on startup from the project selected with firebase init or firebase use . To view the list of projects (and see which one is selected) use firebase projects:list .
Unit tests. The project ID is often specified in calls to the Rules Unit Testing library methods initializeTestEnvironment or initializeTestApp . Other testing code may initialize with initializeApp(config) .
The command line --project flag. Passing the Firebase CLI --project flag overrides the default project. You'll need to ensure the value of the flag matches the project ID in unit tests and app initialization.
Platform-specific places to check:
Sieć
The projectId property in your JavaScript firebaseConfig object, used in initializeApp .
Android
The project_id property inside the google-services.json configuration file.
Apple platforms
The PROJECT_ID property in the GoogleService-Info.plist configuration file.
To disable single project mode, update firebase.json with the singleProjectMode key:
Hosting: On Spark plan projects, can I store executable files?
For no-cost (Spark) plan projects, Firebase blocks uploads and hosting of certain executable file types for Windows, Android and Apple by Cloud Storage for Firebase and Firebase Hosting. This policy exists to prevent abuse on our platform.
Serving, hosting and file uploads of disallowed files are blocked for all Spark projects created on or after Sept 28th, 2023. For existing Spark projects with files uploaded before that date, such files can still be uploaded and hosted.
This restriction applies to Spark plan projects. Projects on the pay as you go (Blaze) plan are not affected.
The following file types cannot be hosted on Firebase Hosting and Cloud Storage for Firebase:
Windows files with .exe , .dll and .bat extensions
Android files with .apk extension
Apple platform files with .ipa extension
Co muszę zrobić?
If you still want to host these file types after September 28th, 2023:
For Hosting: upgrade to the Blaze plan before you can deploy these file types to Firebase Hosting via the firebase deploy command.
For Storage: upgrade to the Blaze plan to upload these file types to the bucket of your choice using the GCS CLI, the Firebase console, or Google Cloud console.
Use Firebase tools to manage your Firebase Hosting and Cloud Storage resources.
For managing resources in Firebase Hosting, use the Firebase console to delete releases according to this guide .
For managing resources in Cloud Storage, navigate to the Storage product page in your project.
On the Files tab, locate disallowed files to delete in your folder hierarchy, then select them using the checkbox next to the filename(s) on the left-hand side of the panel.
Click Delete , and confirm the files were deleted.
Hosting: Why does my Hosting release history table in the Firebase console show file counts that are more than what my local project actually has?
Firebase automatically adds extra files containing metadata about the Hosting site, and these files are included in the total file count for the release.
Hosting: What's the largest file size that I can deploy to Firebase Hosting?
Hosting has a maximum size limit of 2 GB for individual files.
We recommend storing larger files using Cloud Storage , which offers a maximum size limit in the terabyte range for individual objects.
Hosting: How many Hosting sites can I have per Firebase project?
Performance Monitoring: How many custom URL patterns can I create?
You can create up to 400 total custom URL patterns per app and up to 100 custom URL patterns per domain for that app.
Performance Monitoring: Why am I not seeing real time display of performance data?
To view real time performance data, make sure that your app uses a Performance Monitoring SDK version that's compatible with real time data processing.
iOS — v7.3.0 or later
tvOS — v8.9.0 or later
Android — v19.0.10 or later (or Firebase Android BoM v26.1.0 or later)
Web — v7.14.0 or later
Note that we always recommend using the latest version of SDK, but any version listed above will enable Performance Monitoring to process your data in near real time.
Realtime Database
Realtime Database: Why was my Realtime Database reported bandwidth lower than average between September 2016 and March 2017?
For our bandwidth calculations, we normally include SSL encryption overhead (based on layer 5 of the OSI model). However, in September 2016, we introduced a bug that caused our bandwidth reporting to ignore encryption overhead. This might have resulted in artificially low reported bandwidth and bills on your account for a few months.
We released a fix for the bug in late March 2017, returning bandwidth reporting and billing to their normal levels.
Realtime Database: What are the scaling limitations of the Realtime Database?
Each Realtime Database instance has limits on the number of write operations per second. For small writes, this limit is approximately 1000 write operations per second. If you are approaching this limit, batching operations using multi-path updates can help you achieve higher throughput.
Realtime Database: What can I do if I'm over my Realtime Database usage limits?
If you've received an email alert or notification in the Firebase console that you've exceeded your Realtime Database usage limits, you can address it based on the usage limit you've exceeded. To see your Realtime Database usage, go to the Realtime Database Usage dashboard in the Firebase console.
If you're over your download limit, you can upgrade your Firebase pricing plan or wait until your download limit resets at the start of your next billing cycle. To decrease your downloads, try the following steps:
Add queries to limit the data that your listen operations return.
Check for unindexed queries.
Use listeners that only download updates to data — for example, on() instead of once() .
Use security rules to block unauthorized downloads.
If you're over your storage limit, upgrade your pricing plan to avoid service disruptions. To reduce the amount of data in your database, try the following steps:
Run periodic cleanup jobs.
Reduce any duplicate data in your database.
Note that it may take some time to see any data deletions reflected in your storage allotment.
If you're over your simultaneous database connections limit, upgrade your plan to avoid any service disruptions. To manage simultaneous connections to your database, try connecting via users via the REST API if they don't require a realtime connection.
Remote Config
Remote Config: Why don't fetched values change the behavior and appearance of my app?
Unless you fetch values with fetchAndActivate() , values are stored locally but not activated. To activate fetched values so that they can take effect, call activate . This design lets you control when the behavior and appearance of your app changes, because you can choose when to call activate . After you call activate , your app source code determines when updated parameter values are used.
For example, you could fetch values and then activate them the next time a user starts your app, which removes the need to delay app startup while your app waits for fetched values from the service. Changes to your app's behavior and appearance then occur when your app uses the updated parameter values.
Remote Config: I am making a lot of fetch requests while developing my app. Why doesn't my app always get the latest values from the service when it sends fetch requests?
During app development, you might want to fetch and activate configs very frequently (many times per hour) to let you rapidly iterate as you develop and test your app. To accommodate rapid iteration on a project with up to 10 developers, you can temporarily set a FirebaseRemoteConfigSettings object with a low minimum fetch interval ( setMinimumFetchIntervalInSeconds ) in your app.
Remote Config: How quickly does the Remote Config service return fetched values after my app sends a fetch request?
Devices usually receive fetched values in less than a second, and often receive fetched values in milliseconds. The Remote Config service handles fetch requests within milliseconds, but the time required to complete a fetch request will depend on the network speed of the device and the latency of the network connection used by the device.
If your goal is to make fetched values take effect in your app as soon as possible, but without creating a jarring user experience, consider adding calls to fetchAndActivate each time that your app does a full screen refresh.
Firebase User Segmentation Storage stores Firebase installation IDs and related attributes and segments as well as audience lists you've created to provide targeting information to other Firebase services that use them, such as Crashlytics, FCM, Remote Config personalization, and more.