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 Google Cloud Console. 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 Google Cloud Console 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 Google Cloud Console. 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 zobaczyć na stronie IAM w Google Cloud Console.
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ź Google Cloud Console, 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 Cloud Console możesz także tworzyć role niestandardowe i zarządzać nimi, a także przyznawać kontom usług dostęp do swojego projektu.
Pamiętaj, że w Google Cloud Console członkowie projektu nazywani są dyrektorami .
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 Google Cloud Console. Listę członków projektu, w tym właścicieli, możesz wyświetlić na stronie Uprawnienia w Google Cloud Console.
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 zobaczyć na stronie IAM w Google Cloud Console.
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 Google Cloud Console 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. Możesz korzystać z nieograniczonej liczby tych produktów w ramach wszystkich planów, w tym naszego bezpłatnego planu 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 możemy służyć wszystkim lepiej, jeśli zasoby zostaną 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 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 Google Cloud Console. 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 infrastruktury jako usługi 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 Google Cloud Console?
Jeśli konto rozliczeniowe Cloud zostanie dodane do projektu w Google Cloud Console, 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 Google Cloud Console, 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 oferujesz umowy korporacyjne, ceny, wsparcie lub dedykowane hosting infrastruktury?
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
Testy 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: Aby użyć Admob, czy powinienem użyć SDK Firebase do Admob lub Google Mobile Ads SDK?
W przypadku projektów iOS skorzystaj z reklam Mobile SDK: pod 'Google-Mobile-Ads-SDK'
W przypadku projektów z Androidem użyj Google Mobile Ads SDK: implementation 'com.google.android.gms:play-services-ads:22.5.0'
Należy pamiętać, że SDK Firebase Android dla Admitalnie obejmuje SDK Firebase dla Google Analytics. Tak więc, jeśli aplikacja wywołuje jakiekolwiek interfejsy API Google Analytics i przełączysz się na korzystanie z reklam Mobile SDK, upewnij się, że jawnie dodasz zależność dla FireBase SDK dla Google Analytics ( com.google.firebase:firebase-analytics ) do aplikacji plik build.gradle .
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
Lekarz rodzinny
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
Makao, 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
Nowa Zelandia
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
Wyspy Świętego Tomasza i Książęca
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 Chińska
TZ
Tanzania, Zjednoczona Republika
UA
Ukraina
UG
Uganda
NAS
Stany Zjednoczone Ameryki
UY
Urugwaj
UZ
Uzbekistan
VC
Saint Vincent i Grenadyny
VE
Wenezuela (Republika Boliwariańska)
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: Jak ręcznie konstruować klienta internetowego OAuth?
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:
Jeśli nazwa pakietu Androida lub identyfikator pakietu iOS jest obecny na żądanie, wówczas %APP_NAME% będzie nazwą aplikacji używaną w sklepie Play lub App Store (odpowiednio).
W przeciwnym razie %APP_NAME% będzie domyślną nazwą witryny hostingu Firebase (wartość poprzedzająca .firebaseapp.com i .web.app i zwykle identyfikator projektu FireBase).
Zauważ, że jeśli wyszukiwanie domyślnej nazwy witryny hostingu FireBase nie powiedzie się, ostatecznym wypadkiem jest użycie identyfikatora projektu FireBase jako %APP_NAME% .
Funkcje chmury
Funkcje w chmurze obsługa środowiska wykonawczego
Jak uaktualnić najnowszą obsługiwaną wersję Node.js?
Jak mogę upewnić się, że wdrożyłem swoje funkcje w określonym czasie wykonywania Node.js?
W konsoli Firebase przejdź do pulpitu Funkcji , wybierz funkcję i sprawdź język funkcji pod dodatkowymi szczegółami .
Używam rozszerzeń Firebase. Czy wpłyną na mnie aktualizacje środowisk wykonawczych w chmurze?
Tak. Ponieważ rozszerzenia używają funkcji w chmurze , czas wykonywania rozszerzeń będzie musiał zostać zaktualizowany na tej samej osi czasu, co funkcje w chmurze.
Zalecamy okresową aktualizację do najnowszej wersji każdego rozszerzenia zainstalowanego w twoim projekcie. Możesz zaktualizować rozszerzenia swoich projektów za pośrednictwem konsoli Firebase lub Firebase CLI .
Wiadomości w chmurze
Cloud Messaging: Jaka jest różnica między kompozytorem powiadomień a komunikatem w chmurze?
FireBase Cloud Messaging zapewnia kompletny zestaw funkcji przesyłania wiadomości za pośrednictwem protokołów serwerów HTTP i XMPP. W przypadku wdrożeń o bardziej złożonych wymaganiach dotyczących przesyłania wiadomości FCM jest właściwym wyborem.
Kompozytor powiadomień to lekkie, pozbawione serwera rozwiązanie do przesyłania wiadomości zbudowanymi w przesyłaniu przesyłania chmur FireBase. Dzięki przyjaznej dla użytkownika konsoli graficznej i zmniejszonymi wymaganiami kodowania kompozytor powiadomień pozwala użytkownikom łatwo wysyłać wiadomości do ponownego włączenia i zatrzymania użytkowników, wspierania rozwoju aplikacji i obsługi kampanii marketingowych.
Możliwości
Powiadomienia kompozytor
Wiadomości w chmurze
Cel
Pojedyncze urządzenie
Klienci subskrybowali tematy (tj. Pogoda)
Klienci w predefiniowanym segmencie użytkowników (aplikacja, wersja, język)
Klienci w określonych odbiorcach analitycznych
Klienci w grupach urządzeń
W górę od klienta na serwer
Typ wiadomości
Powiadomienia do 2 kb
Komunikaty danych do 4KB
Dostawa
Natychmiastowy
Przyszłe urządzenie klienckie czas lokalny
Analityka
Wbudowane powiadomienia zbiór analityki i analizy lejkowe
Cloud Messaging: Apple ogłosiło, że przestaje starać się protokół binarny dla APN. Czy muszę coś zrobić?
Nie. Firebase Cloud Messaging przełączony na protokół APN oparty na HTTP/2 w 2017 r. Jeśli używasz FCM do wysyłania powiadomień na urządzenia iOS, nie powinno być wymagane z twojej strony żadne działania.
Przesłanie w chmurze: czy muszę korzystać z innych usług Firebase, aby korzystać z FCM?
Możesz użyć wiadomości FireBase Cloud Messaging jako samodzielnego komponentu, w taki sam sposób, jak z GCM, bez korzystania z innych usług Firebase.
Cloud Messaging: Jestem istniejącym programistą Google Cloud Messaging (GCM). Czy powinienem przenieść się do przesyłania przesyłania chmur Firebase?
FCM to nowa wersja GCM pod marką FireBase. Dziedziczy podstawową infrastrukturę GCM, z nowymi SDK, aby ułatwić rozwój wiadomości w chmurze.
Korzyści z aktualizacji do FCM SDK obejmują:
Prostszy rozwój klienta. Nie musisz już pisać własnej logiki rejestracji lub subskrypcji.
Rozwiązanie powiadomienia out-box. Możesz użyć kompozytora powiadomień, rozwiązania powiadomień bez serwera z konsolą internetową, która pozwala każdemu wysyłać powiadomienia do określonych odbiorców w oparciu o spostrzeżenia Google Analytics.
Aby uaktualnić z GCM SDK do SDK FCM, zobacz przewodniki migracji aplikacji na Androida i iOS .
Cloud Messaging: Dlaczego moje ukierunkowane urządzenia najwyraźniej nie otrzymują wiadomości?
Kiedy wygląda na to, że urządzenia nie otrzymały pomyślnie wiadomości, najpierw sprawdź te dwie potencjalne przyczyny:
Obsługa wiadomości na pierwszym planie dla komunikatów powiadomień . Aplikacje klientów muszą dodać logikę obsługi wiadomości, aby obsługiwać komunikaty powiadomień, gdy aplikacja jest na pierwszym planie na urządzeniu. Zobacz szczegóły iOS i Androida .
Ograniczenia zapory sieciowej . Jeśli Twoja organizacja ma zaporę ogniową, która ogranicza ruch do lub z Internetu, musisz ją skonfigurować, aby umożliwić łączność z FCM, aby aplikacje klienckie w przesyłaniu wiadomości FireBase Cloud otrzymują wiadomości. Porty do otwarcia to:
5228
5229
5230
FCM zwykle używa 5228, ale czasami używa 5229 i 5230. FCM nie dostarcza określonych adresów IP, więc powinieneś zezwolić na zaporę na akceptowanie połączeń wychodzących ze wszystkimi adresami IP zawartymi w blokach IP wymienionych w ASN Google z 15169 .
Cloud Messaging: Zaimplementowałem onMessageReceived w mojej aplikacji na Androida, ale nie jest to wywoływane.
Gdy aplikacja znajduje się w tle, komunikaty o powiadomieniu są wyświetlane w tacy systemowej, a onMessageReceived nie jest wywoływane. 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
Wiadomości w chmurze
Cel
Pojedyncze urządzenie
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:
API serwera
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 .
Testy jednostkowe. 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.
Baza danych czasu rzeczywistego
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.
Zdalna konfiguracja
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.