Masz inne wyzwania lub nie widzisz swojego problemu poniżej? Zgłoś błąd lub poproś o funkcję i dołącz do dyskusji o przepełnieniu stosu .
Projekty Firebase i aplikacje Firebase
Co to jest projekt Firebase?
Projekt jest kontenerem dla aplikacji na iOS, Androida i internet. Obsługuje udostępnianie funkcji, takich jak baza danych, konfiguracja i powiadomienia, między aplikacjami wieloplatformowymi.
Do jednego projektu należy dodać warianty aplikacji na iOS, Androida i aplikację internetową. Możesz używać wielu projektów do obsługi wielu środowisk, takich jak programowanie, przemieszczanie i produkcja.
Jak dodać Firebase do istniejącego projektu Google Cloud?
Możesz mieć istniejące projekty zarządzane przez Google Cloud Console lub konsolę Google APIs . Domyślnie te projekty są widoczne w konsoli Firebase , ale nie są uznawane za projekty Firebase.
Aby dodać Firebase do istniejącego projektu Google Cloud, kliknij Dodaj projekt na stronie docelowej konsoli Firebase , a następnie wybierz swój projekt w menu Nazwa projektu .
Ile projektów mogę mieć na koncie?
- Darmowy plan Spark - Twój limit projektu jest ograniczony do niewielkiej liczby projektów (zwykle około 5-10).
- Płatne plany - Twój limit projektu na konto rozliczeniowe w chmurze znacznie wzrasta, o ile Twoje konto rozliczeniowe w chmurze ma dobrą opinię.
Limit przydziału projektu rzadko dotyczy większości programistów, ale w razie potrzeby możesz poprosić o zwiększenie limitu projektu .
Pamiętaj, że całkowite usunięcie projektu zajmuje 30 dni i liczy się do Twojego przydziału, dopóki nie zostanie całkowicie usunięty.
Ile aplikacji Firebase mogę mieć w projekcie Firebase?
Projekt Firebase to kontener dla aplikacji Firebase na iOS, Androida i przeglądarkę internetową. Firebase ogranicza łączną liczbę aplikacji Firebase w projekcie Firebase do 30.
Po tej liczbie wydajność zaczyna spadać (szczególnie w przypadku Google Analytics) i ostatecznie, przy większej liczbie aplikacji, niektóre funkcje produktu przestają działać. Ponadto dodanie aplikacji Firebase do projektu powoduje utworzenie co najmniej jednego identyfikatora klienta OAuth 2.0. Istnieje limit około 30 identyfikatorów klientów, które można utworzyć w ramach jednego projektu.
Należy upewnić się, że wszystkie aplikacje Firebase w jednym projekcie Firebase są wariantami platformy tej samej aplikacji z punktu widzenia użytkownika końcowego. Na przykład, jeśli tworzysz aplikację typu white label, każda niezależnie oznaczona aplikacja powinna mieć własny projekt Firebase. Odwiedź artykuł Omówienie projektów Firebase, aby dowiedzieć się więcej o sprawdzonych metodach związanych z projektami Firebase i aplikacjami Firebase.
W rzadkich przypadkach, gdy Twój projekt wymaga więcej niż 30 aplikacji, możesz poprosić o zwiększenie limitu aplikacji. Aby wysłać tę prośbę, Twój projekt musi być objęty abonamentem Blaze. Odwiedź konsolę Google Cloud, aby przesłać żądanie i ocenić je. Dowiedz się więcej o zarządzaniu limitami w dokumentacji Google Cloud.
Gdzie mogę znaleźć identyfikator mojej aplikacji Firebase?
W konsoli Firebase przejdź do settings projektu . 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 identyfikatora aplikacji:
- Aplikacje
1:1234567890:ios:321abc456def7890
iOS:1:1234567890:ios:321abc456def7890
- Aplikacje
1:1234567890:android:321abc456def7890
Androida:1:1234567890:android:321abc456def7890
- Aplikacje
1:1234567890:web:321abc456def7890
:1:1234567890:web:321abc456def7890
Czy muszę podać SHA-1 podczas dodawania aplikacji na Androida?
Informacje SHA-1 są wymagane przez uwierzytelnianie Firebase (podczas korzystania z logowania Google lub numeru telefonu ) i Linki dynamiczne Firebase . Jeśli nie używasz tych funkcji, nie musisz zapewniać SHA-1.
Jak rozwiązać ten błąd: „Klient OAuth2 już istnieje dla tej nazwy pakietu i SHA-1 w innym projekcie”?
Ten błąd występuje, jeśli wykryjemy, że inny projekt Firebase lub Google Cloud zawiera identyfikator klienta OAuth 2.0 z określoną przez Ciebie nazwą pakietu i SHA-1. Dowiedz się, jak rozwiązać ten błąd .
Po dodaniu Firebase do mojego projektu na Androida pojawia się błąd „Nie można znaleźć”.
Ten błąd zwykle oznacza, że w Twojej aplikacji brakuje co najmniej jednego odwołania do repozytorium Google Maven. Upewnij się, że w pliku build.gradle
poziomie projektu uwzględniono repozytorium Google Maven ( google()
) zarówno w sekcji buildscript
i allprojects
.
Jakie są warunki wstępne połączenia Play / AdMob / AdWords / BigQuery z moim projektem Firebase?
- Aby połączyć swoje konto Play , musisz być zarówno właścicielem projektu Firebase, jak i właścicielem konta Play.
- Aby połączyć swoją 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ć swój projekt BigQuery , musisz być właścicielem projektu Firebase.
Jakie powiadomienia o oprogramowaniu open source należy umieścić w mojej aplikacji?
W systemie iOS moduł Firebase zawiera plik NOTICES, który zawiera odpowiednie wpisy. Firebase Android SDK zawiera pomocnika Activity
do pokazywania informacji o licencji.
Jakie wersje Xcode obsługuje Firebase?
Firebase obsługuje maksymalnie dwie główne wersje Xcode, z wyłączeniem wersji Xcode, których Apple już nie obsługuje. Na przykład od marca 2019 roku Apple wymaga co najmniej iOS 12 we wszystkich aplikacjach na iOS, co oznacza, że obsługa Xcode 9 zostanie usunięta, a Xcode 10 będzie jedyną obsługiwaną wersją główną.
Zmiany w obsłudze określonych podrzędnych lub poprawek wersji Xcode (na przykład 9.2.0 do 9.4.1) są określane na podstawie potrzeb pakietu Firebase iOS SDK i ankiety na temat użytkowania przez programistów. Te zmiany są odzwierciedlone w informacjach o wersji Firebase iOS SDK i na stronie konfiguracji Firebase iOS SDK .
Aby zobaczyć minimalną wersję Xcode obsługiwaną przez pakiet Firebase iOS SDK, sprawdź wymagania wymienione w artykule Dodawanie Firebase do projektu iOS .
Wsparcie Firebase dla wersji Beta Xcode jest dostępne na zasadzie „dołożenia wszelkich starań”. Programiści mogą śledzić i zgłaszać problemy w repozytorium Firebase iOS SDK na GitHub .
Konsola Firebase
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.
Dlaczego konsola Firebase się nie ładuje?
Oto kilka kroków rozwiązywania problemów, które możesz wypróbować, jeśli masz problemy z ładowaniem konsoli Firebase:
- Sprawdź wiersz Konsola w Panelu stanu Firebase pod kątem ewentualnych przerw w działaniu usługi.
- Upewnij się, że używasz obsługiwanej przeglądarki .
- Spróbuj załadować konsolę Firebase w oknie incognito lub prywatnym.
- Wyłącz wszystkie rozszerzenia przeglądarki.
- Sprawdź, czy nic nie blokuje połączenia, na przykład oprogramowanie antywirusowe, sieciowe serwery proxy lub zapora. Jeśli tak, spróbuj je wyłączyć.
- Spróbuj załadować konsolę Firebase przy użyciu innej sieci lub urządzenia.
Jeśli żadna z powyższych czynności nie rozwiązuje problemu, skontaktuj się z pomocą techniczną .
Jak jest określany język mojej konsoli Firebase?
Ustawienie języka konsoli Firebase jest oparte na języku wybranym w ustawieniach konta Google .
Aby zmienić preferencje językowe, zobacz Zmiana języka .
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 używają tych samych podstawowych ról i uprawnień. Dowiedz się więcej o rolach i uprawnieniach w dokumentacji Firebase IAM .
Firebase obsługuje podstawowe (podstawowe) role właściciela, edytującego i przeglądającego:
- Właściciel projektu może dodawać innych członków do projektu, konfigurować integracje (łączenie projektów z usługami takimi jak BigQuery lub Slack) i ma pełne uprawnienia do edycji projektu.
- Edytor projektu ma pełne uprawnienia do edycji projektu.
- Osoba przeglądająca projekt ma tylko uprawnienia do odczytu projektu. Pamiętaj, że konsola Firebase obecnie nie ukrywa / nie wyłącza elementów sterujących edytowaniem interfejsu użytkownika przed osobami przeglądającymi projekt, ale te operacje zakończą się niepowodzeniem dla członków projektu, którym przypisano rolę przeglądającego.
Firebase obsługuje również:
- Wstępnie zdefiniowane role Firebase - wyselekcjonowane role specyficzne dla Firebase, które umożliwiają bardziej szczegółową kontrolę dostępu niż podstawowe role właściciela, edytującego i przeglądającego.
- Role niestandardowe - w pełni dostosowane role uprawnień, które tworzysz, aby dostosować zestaw uprawnień, który spełnia określone wymagania Twojej organizacji.
cennik
Które produkty są płatne? Które są bezpłatne?
Płatne produkty infrastruktury Firebase to baza danych czasu rzeczywistego, pamięć masowa w chmurze dla Firebase, funkcje, hosting, laboratorium testowe i uwierzytelnianie telefoniczne. Oferujemy bezpłatny poziom dla wszystkich tych funkcji.
Firebase ma również wiele bezpłatnych produktów: Analytics, Cloud Messaging, kompozytor powiadomień, Remote Config, App Indexing, Dynamic Links i Crash Reporting. Możesz używać nieograniczonej ilości dowolnego z tych produktów we wszystkich planach, w tym w naszym bezpłatnym planie Spark. Ponadto wszystkie funkcje uwierzytelniania poza uwierzytelnianiem telefonicznym są bezpłatne.
Czy Firebase oferuje darmowe 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 300 USD darmowych środków w Cloud Billing, aby poznać i ocenić produkty i usługi Google Cloud i Firebase.
W okresie bezpłatnej wersji próbnej Google Cloud otrzymasz bezpłatne konto rozliczeniowe w chmurze. Każdy projekt Firebase korzystający z tego konta rozliczeniowego będzie objęty abonamentem Blaze podczas bezpłatnego okresu próbnego.
Nie martw się, skonfigurowanie tego bezpłatnego próbnego konta rozliczeniowego w chmurze nie umożliwia nam pobierania opłat. Opłata nie zostanie naliczona, chyba że wyraźnie włączysz rozliczenia, aktualizując swoje konto bezpłatnej wersji próbnej Cloud Billing do konta płatnego. Możesz przejść na płatne konto w dowolnym momencie podczas okresu próbnego. Po uaktualnieniu nadal możesz wykorzystać wszystkie pozostałe kredyty (w okresie 90 dni).
Po wygaśnięciu bezpłatnego okresu próbnego musisz obniżyć swój projekt do abonamentu Spark lub skonfigurować abonament Blaze na bieżąco w konsoli Firebase, aby nadal korzystać z projektu Firebase.
Dowiedz się więcej o bezpłatnej wersji próbnej Google Cloud .
Skąd mam wiedzieć, który plan jest dla mnie odpowiedni?
Plan rozliczeniowy Spark
Nasz plan Spark to świetne miejsce do darmowego tworzenia aplikacji. Otrzymujesz wszystkie bezpłatne funkcje Firebase (Analytics, kompozytor powiadomień, raportowanie awarii itd.) Oraz obfite 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 warstwie Spark.
Abonament 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 zgodnie z zapotrzebowaniem. Staramy się, aby ceny naszych planów Blaze były konkurencyjne w stosunku do wiodących w branży dostawców usług w chmurze.
Jak mogę monitorować moje użycie i rozliczenia?
Możesz śledzić wykorzystanie zasobów projektu w konsoli Firebase na dowolnym z następujących pulpitów nawigacyjnych:
- Ogólny pulpit nawigacyjny wykorzystania i rozliczeń na poziomie projektu
- Pulpit nawigacyjny użycia uwierzytelniania (szczególnie dla wystąpień uwierzytelniania telefonu)
- Panel wykorzystania Cloud Firestore
- Panel wykorzystania funkcji chmury
- Panel wykorzystania Cloud Storage
- Panel wykorzystania hostingu
- Pulpit nawigacyjny wykorzystania bazy danych w czasie rzeczywistym
Co się stało z planem rozliczeniowym Flame?
Od stycznia 2020 r. Plan rozliczeniowy Flame (dodatkowe 25 USD miesięcznie) nie jest już dostępny dla nowych rejestracji.
- Istniejące projekty planów Spark i Blaze oraz żadne nowe projekty nie mogą już przejść do planu Flame ani się w nim zarejestrować.
- Jeśli przeniesiesz istniejący projekt planu Flame do innego planu rozliczeniowego, projekt nie będzie mógł wrócić do planu Flame.
- Istniejące projekty planu Flame mogą na razie nadal korzystać z planu Flame. Jednak w najbliższych miesiącach otrzymasz informacje o wymaganym harmonogramie przejścia na inny plan rozliczeniowy.
- Odniesienia do planu Flame zostały usunięte z dokumentacji.
Czy masz więcej pytań dotyczących wycofania planu Flame na emeryturę? Przeczytaj poniżej niektóre z dodatkowych często zadawanych pytań .
Chcesz dowiedzieć się więcej o innych planach rozliczeniowych oferowanych przez Firebase? Odwiedź naszą stronę z cenami Firebase ! Jeśli chcesz rozpocząć przenoszenie istniejących projektów do innego abonamentu, możesz to zrobić w konsoli Firebase swojego projektu.
W przypadku istniejących projektów planu Flame obowiązują limity planu i dostępność funkcji.
- Plan Flame nie przewiduje żadnych limitów użycia dla następujących produktów:
BigQuery i inne usługi Google Cloud IaaS - Plan Flame obejmuje bezpłatne limity użytkowania dla następujących produktów:
Testy A / B, analityka, indeksowanie aplikacji, przesyłanie wiadomości w chmurze (FCM), Crashlytics, łącza dynamiczne, monitorowanie wydajności, prognozy i zdalna konfiguracja Plan Flame obejmuje limity użycia dla następujących produktów:
Produkt Funkcja Zawarte w planie Płomienia Poświadczenie Uwierzytelnianie przez telefon - Stany Zjednoczone, Kanada i Indie 10k / miesiąc Autoryzacja przez telefon - wszystkie inne kraje 10k / miesiąc Inne usługi i funkcje uwierzytelniania ✔ (bezpłatnie) Cloud Firestore Przechowywanie danych Łącznie 2,5 GiB Wyjście z sieci 20 GiB / miesiąc Dokument pisze 100k / dzień Dokument czyta 250k / dzień Dokument zostanie usunięty 100k / dzień Funkcje chmury dla Firebase Modły 2 mln / miesiąc GB-sekundy 400 tys. / Miesiąc CPU-sekundy 200k / miesiąc Sieci wychodzące 5 GB / miesiąc Hosting Przechowywanie danych Łącznie 10 GB Transfer danych 50 GB / miesiąc Domena niestandardowa i SSL ✔ (bezpłatnie) Wiele witryn na projekt ✔ (bezpłatnie) Firebase ML Hostowanie / udostępnianie modeli niestandardowych ✔ (bezpłatnie) Zbiór danych AutoML Vision Edge 1k obrazów / projekt Szkolenie AutoML Vision Edge 3 godziny / projekt Interfejsy API Cloud Vision nie wliczone Baza danych czasu rzeczywistego Jednoczesne połączenia 200k Przechowywanie danych Łącznie 2,5 GB Pobieranie danych 20 GB / miesiąc Wiele baz danych na projekt nie wliczone Magazyn w chmurze Przechowywanie danych Łącznie 50 GB Pobieranie danych 50 GB / dzień Operacje przesyłania 100k / dzień Operacje pobierania 250k / dzień Wiele segmentów na projekt nie wliczone Test Lab Testy urządzeń wirtualnych 10 testów dziennie Fizyczne testy urządzeń 5 testów dziennie
Dodatkowe często zadawane pytania dotyczące wycofania planu Flame
Co dzieje się teraz z moimi istniejącymi projektami planu Flame?
Na razie nie ma żadnych zmian w Twoim projekcie ani rozliczeniach. Jednak w najbliższych miesiącach otrzymasz informacje o wymaganym harmonogramie przejścia na inny plan rozliczeniowy.
Co stanie się z moimi istniejącymi projektami planu Flame w przyszłości?
W tej chwili nie ma określonego harmonogramu przenoszenia projektów planu Flame do innego planu rozliczeniowego. Jednak w najbliższych miesiącach otrzymasz informacje o wymaganym harmonogramie przejścia na inny plan rozliczeniowy.
Mam projekt / proces / model biznesowy, który opiera się na stałym koszcie Firebase. Co powinienem zrobić?
Zarejestruj się w abonamencie Blaze pay-as-you-go i ustaw alerty dotyczące budżetu projektu.
Czy mogę otrzymać specjalny dostęp do tworzenia nowych projektów planu płomienia?
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 rozliczeniowy. Jak to zmienić z powrotem?
Przejście na plan Płomień nie jest już możliwe. Aby uzyskać dostęp do usług świadczonych w ramach planu Flame, upewnij się, że korzystasz z planu płatności zgodnie z rzeczywistym użyciem Blaze i rozważ ustawienie alertów budżetowych dla swojego projektu.
Mój projekt został automatycznie przełączony na inny plan rozliczeniowy w ramach wycofania planu Flame. Co powinienem zrobić?
Automatyczne zmiany planu rozliczeń nie są częścią obecnego zakresu wycofywania planu Flame. Koniecznie sprawdź dzienniki kontrolne pod kątem zmian w płatnościach.
Dlaczego plan Flame został wycofany?
Przez lata widzieliśmy spadek wykorzystania planu Flame, a większość projektów korzystających z planu nie zużywa pełnej wartości. Utrzymanie tego planu rozliczeniowego 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 w planie Blaze różni się od bezpłatnego korzystania w planie Spark?
Bezpłatne wykorzystanie abonamentu Blaze jest obliczane codziennie. Limity użytkowania różnią się również od planu Spark dotyczącego funkcji w chmurze, uwierzytelniania telefonicznego i laboratorium testowego.
W przypadku Cloud Functions bezpłatne wykorzystanie planu Blaze jest obliczane na poziomie konta rozliczeniowego, a nie na poziomie projektu i ma następujące ograniczenia:
- 2 mln wywołań / miesiąc
- 400 000 GB-sekund / miesiąc
- 200 000 sekund procesora / miesiąc
- 5 GB danych wychodzących z sieci / miesiąc
W przypadku uwierzytelniania telefonicznego bezpłatne korzystanie z abonamentu Blaze jest obliczane co miesiąc.
W przypadku Test Lab bezpłatne korzystanie z planu Blaze ma następujące ograniczenia:
- 30 minut urządzenia fizycznego dziennie
- 60 minut na urządzenie wirtualne dziennie
Czy limit bezpłatnego użytkowania resetuje się, gdy zmieniam plan Spark na Blaze?
Bezpłatne korzystanie z planu Spark jest uwzględnione w planie Blaze. Bezpłatne użycie nie resetuje się po przejściu na abonament Blaze.
Co to jest „jednoczesne połączenie z bazą danych”?
Jednoczesne połączenie jest równoważne z jednym urządzeniem przenośnym, kartą przeglądarki lub aplikacją serwera połączoną z bazą danych. Firebase nakłada sztywne ograniczenia na liczbę jednoczesnych połączeń z bazą danych Twojej aplikacji. Te limity mają na celu ochronę zarówno Firebase, jak i naszych użytkowników przed nadużyciami.
Limit planu Spark wynosi 100 i nie można go zwiększyć. Plany Flame i Blaze mają limit 200 000 jednoczesnych połączeń na bazę danych.
Ten limit nie jest tym samym, co łą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 artykuł Skalowanie z wieloma bazami danych .
Co się stanie, jeśli przekroczę limity przechowywania lub pobierania planu Spark dla bazy danych czasu rzeczywistego?
Aby zapewnić przewidywalną cenę, zasoby dostępne w planach Spark są ograniczone. Oznacza to, że po przekroczeniu limitu planu w dowolnym miesiącu 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?
Gdy aplikacja osiągnie limit współbieżnych połączeń w planie Spark, wszelkie kolejne połączenia zostaną odrzucone, dopóki niektóre z istniejących połączeń nie zostaną zamknięte. Aplikacja będzie nadal działać dla połączonych użytkowników.
Co się stanie, jeśli przekroczę limity przesyłania i pobierania planu Spark lub limity miejsca na przechowywanie w chmurze?
Gdy przekroczysz limity dla Cloud Storage w projekcie w planie Spark, wynik zależy od typu limitu, który przekroczysz:
- Jeśli przekroczysz limit przechowywanych GB , nie będziesz mógł przechowywać więcej danych w tym projekcie, chyba że usuniesz część przechowywanych danych lub uaktualnisz do planu zapewniającego więcej miejsca lub nieograniczoną przestrzeń dyskową.
- Jeśli przekroczysz limit pobranych GB , Twoja aplikacja nie będzie mogła pobrać więcej danych do następnego dnia (począwszy od północy czasu pacyficznego Stanów Zjednoczonych), chyba że przejdziesz na plan z mniej restrykcyjnymi limitami 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 (począwszy od północy czasu pacyficznego Stanów Zjednoczonych), chyba że przejdziesz na plan z mniej restrykcyjnymi limitami lub bez limity.
Jak działa integracja Firebase z Google Cloud?
Firebase jest głęboko zintegrowany z Google Cloud . Projekty są udostępniane między Firebase i Google Cloud, więc projekty mogą mieć włączone usługi Firebase i Google Cloud. Możesz uzyskać dostęp do tego samego projektu z konsoli Firebase lub Google Cloud Console. Konkretnie:
- Niektóre produkty Firebase są obsługiwane bezpośrednio przez Google Cloud, na przykład Cloud Storage for Firebase. Lista produktów obsługiwanych przez Google Cloud będzie z czasem rosła.
- Wiele ustawień, w tym informacje o współpracownikach i informacje rozliczeniowe, jest udostępnianych przez Firebase i Google Cloud. Korzystanie z Firebase i Google Cloud jest widoczne na tym samym rachunku.
Ponadto po przejściu na abonament Blaze możesz korzystać z dowolnej światowej klasy infrastruktury jako usługi i interfejsów API Google Cloud bezpośrednio w projekcie Firebase po standardowych cenach Google Cloud . Możesz też wyeksportować dane z Google Cloud bezpośrednio do BigQuery w celu analizy. Aby dowiedzieć się więcej, zobacz Łączenie BigQuery z Firebase.
Korzystanie z Google Cloud z Firebase ma wiele zalet zwiększających bezpieczeństwo, poprawiających opóźnienia i oszczędzających czas (w porównaniu z innymi usługami w chmurze, które nie są kolokowane). Odwiedź witrynę Google Cloud, aby uzyskać więcej informacji.
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 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 zostanie usunięte z projektu w Google Cloud Console, projekt zostanie zdegradowany do planu Firebase Spark.
Czy mogę w dowolnym momencie ulepszyć, obniżyć lub anulować?
Tak, w każdej chwili możesz uaktualnić, obniżyć lub anulować. Pamiętaj, że nie zapewniamy proporcjonalnych zwrotów kosztów za obniżki lub anulacje. Oznacza to, że jeśli obniżysz lub anulujesz subskrypcję przed końcem okresu rozliczeniowego, nadal będziesz płacić za pozostałą część miesiąca.
Jakie wsparcie otrzymam?
Wszystkie aplikacje Firebase, w tym abonamenty bezpłatne, są objęte pomocą e-mailową od pracowników Firebase w godzinach pracy w Stanach Zjednoczonych i Pacyfiku. Wszystkie konta mają nieograniczoną pomoc techniczną w zakresie rozliczeń, problemów z kontem, pytań technicznych (rozwiązywania problemów) i raportów incydentów.
Czy mogę ograniczyć wykorzystanie abonamentu Blaze?
Nie, obecnie nie możesz ograniczyć wykorzystania abonamentu Blaze. Oceniamy opcje obsługi limitów wykorzystania planu Blaze.
Użytkownicy Blaze mogą zdefiniować budżet dla swojego projektu lub konta i otrzymywać powiadomienia, gdy ich wydatki zbliżają się do tych limitów. Aby uzyskać więcej informacji, zobacz Ustawianie alertów dotyczących budżetu .
Co to są automatyczne kopie zapasowe? Czy oferujecie cogodzinne kopie zapasowe?
Automatyczne kopie zapasowe to zaawansowana funkcja dla klientów korzystających z naszego abonamentu Blaze, która raz dziennie tworzy kopię zapasową danych bazy danych czasu rzeczywistego Firebase i przesyła je do Google Cloud Storage .
Nie oferujemy kopii godzinowych.
Czy oferujecie zniżki na oprogramowanie typu open source, non-profit lub edukacyjne?
Nasz plan Spark może być używany przez dowolne osoby lub organizacje, w tym organizacje non-profit, szkoły i projekty typu open source. Ponieważ plany te obejmują już hojne limity, nie oferujemy żadnych specjalnych rabatów ani planów dotyczących projektów open source, non-profit lub edukacyjnych.
Czy oferujecie umowy dla przedsiębiorstw, ceny, wsparcie lub hosting dedykowanej infrastruktury?
Nasz plan Blaze jest odpowiedni dla przedsiębiorstw każdej wielkości, a nasza umowa SLA spełnia lub przekracza branżowy standard infrastruktury chmury. Jednak obecnie nie oferujemy umów dla przedsiębiorstw, cen ani wsparcia, ani nie oferujemy dedykowanego hostingu infrastruktury (czyli instalacji lokalnych) dla usług takich jak nasza baza danych czasu rzeczywistego. Ciężko pracujemy nad dodaniem niektórych z tych funkcji.
Czy oferujecie ceny ad hoc? Chcę tylko płatności zgodnie z rzeczywistym użyciem za jedną lub dwie funkcje.
Oferujemy ceny ad hoc w abonamencie Blaze, w którym płacisz tylko za funkcje, z których korzystasz.
Jak płatne plany Firebase współpracują z reklamami? Czy w przypadku płatnych planów dostępne są bezpłatne kredyty reklamowe?
Plany cenowe Firebase są niezależne od Ads, więc nie ma bezpłatnych kredytów reklamowych. Jako programista Firebase możesz „połączyć” swoje konto Ads z Firebase, aby obsługiwać śledzenie konwersji.
Wszystkimi kampaniami reklamowymi zarządza się bezpośrednio w reklamach, a rozliczeniami za reklamy można zarządzać z konsoli reklam.
Cennik Cloud Functions
Dlaczego potrzebuję konta rozliczeniowego, aby korzystać z Cloud Functions for Firebase?
Cloud Functions for Firebase opiera się na niektórych płatnych usługach Google: Cloud Build , Container Registry i Cloud Storage . Opłata za korzystanie z tych usług zostanie dodana do istniejących cen.
Opłaty będą naliczane tylko za czas obliczeniowy wymagany do zbudowania kontenera środowiska wykonawczego funkcji.
Cloud Storage współpracujący z Google Container Registry zapewni miejsce do przechowywania kontenerów, w których działają funkcje. Opłata zostanie naliczona za każdy kontener wymagany do wdrożenia funkcji. Możesz zauważyć niewielkie opłaty za każdy przechowywany kontener - na przykład opłata za 1 GB miejsca wynosi 0,026 USD miesięcznie .
Aby dowiedzieć się więcej o tym, jak może zmienić się Twój rachunek, zapoznaj się z poniższymi informacjami
- Cennik Cloud Functions : istniejąca bezpłatna warstwa pozostaje niezmieniona.
- Cennik Cloud Build: Cloud Build zapewnia bezpłatną warstwę.
- Cennik Container Registry .
Czy Cloud Functions dla Firebase nadal jest dostępne bezpłatnie?
Tak. W planie Blaze Cloud Functions zapewnia wieczną bezpłatną warstwę dla wywołań, czasu obliczeń i ruchu internetowego. Pierwsze 2 000 000 wywołań, 400 000 GB / s, 200 000 CPU / s oraz 5 GB ruchu wychodzącego do Internetu jest udostępnianych bezpłatnie każdego miesiąca. Opłata zostanie naliczona tylko za użycie powyżej tych progów.
Każda operacja wdrożenia spowoduje naliczenie niewielkich opłat za miejsce w magazynie używane dla kontenera funkcji. Na przykład, jeśli Twoje funkcje zajmują 1 GB przestrzeni dyskowej za pośrednictwem Container Registry, będziesz płacić 0,026 USD miesięcznie . Jeśli proces programowania zależy od wdrażania funkcji do testowania, możesz dodatkowo zminimalizować koszty, korzystając z pakietu Firebase Local Emulator Suite podczas programowania.
Zobacz plany cenowe Firebase i przykładowe scenariusze cenowe Cloud Functions .
Czy Firebase planuje zwiększyć przydziały i limity dla Cloud Functions for Firebase?
Nie. Nie ma planów zmiany limitów poza usunięciem maksymalnego limitu czasu budowy; Zamiast otrzymywać błędy lub ostrzeżenia po osiągnięciu dziennego limitu kompilacji wynoszącego 120 minut, opłaty będą naliczane zgodnie z warunkami abonamentu Blaze z opcją płatności zgodnie z rzeczywistym użyciem. Zobacz kwoty i limity .
Czy mogę otrzymać środki w Google Cloud w wysokości 300 USD?
Tak, możesz utworzyć konto rozliczeniowe w Google Cloud Console, aby otrzymać środki w wysokości 300 USD, a następnie połączyć to konto rozliczeniowe z projektem Firebase.
Więcej informacji na temat kredytu Google Cloud tutaj .
Pamiętaj, że jeśli to zrobisz, musisz skonfigurować abonament Blaze pay-as-you-go w konsoli Firebase, aby projekt mógł dalej działać po wyczerpaniu środków w wysokości 300 USD
Chcę zapoznać się z kodem, aby dowiedzieć się więcej o Firebase. Czy możesz mi dać tymczasowe konto rozliczeniowe?
Nie, przepraszam. Możesz użyć emulatora Firebase do programowania bez posiadania konta rozliczeniowego. Możesz też spróbować złożyć wniosek o bezpłatną wersję próbną Google Cloud . Jeśli nadal masz problemy z opłaceniem rachunku z powodu tej zmiany, skontaktuj się z pomocą techniczną Firebase.
Martwię się, że zapłacę ogromny rachunek.
Możesz skonfigurować alerty dotyczące budżetu w Google Cloud Console, aby pomóc kontrolować koszty. Aby zapoznać się z kosztami typowych scenariuszy, zapoznaj się z przykładami cenowymi Cloud Functions .
Jak mogę sprawdzić aktualne opłaty za rozliczenia?
Wyświetl panel informacyjny Użycie i rozliczenia w konsoli Firebase.
Używam rozszerzeń Firebase. Czy ta zmiana wpłynie na mnie?
Tak. Ponieważ rozszerzenia używają Cloud Functions , rozszerzenia korzystające z Node.js 10 lub nowszego będą podlegać takim samym opłatom, jak inne funkcje.
Aby korzystać z rozszerzeń opartych na Node.js 10 lub nowszym, musisz przejść na abonament Blaze pay-as-you-go. Będziemy pobierać niewielką kwotę (zazwyczaj około 0,01 USD miesięcznie ) za zasoby Firebase wymagane przez każde instalowane rozszerzenie (nawet jeśli nie są one używane), oprócz wszelkich opłat związanych z korzystaniem z usług Firebase.
Prywatność
Gdzie mogę znaleźć informacje o prywatności i bezpieczeństwie w Firebase?
Sprawdź stronę Prywatność i bezpieczeństwo w Firebase .
Czy pakiety SDK Firebase rejestrują jakiekolwiek informacje o użytkowaniu / diagnostyczne poza Analytics?
Tak. Obecnie dotyczy to tylko systemu iOS, ale może się zmienić w przyszłości. Pakiet Firebase iOS SDK zawiera domyślnie strukturę FirebaseCoreDiagnostics
. Ta struktura jest używana przez Firebase do zbierania informacji o użyciu SDK i danych diagnostycznych, aby pomóc ustalić priorytety przyszłych ulepszeń produktów. FirebaseCoreDiagnostics
jest opcjonalne, więc jeśli chcesz zrezygnować z wysyłania dzienników diagnostycznych Firebase, możesz to zrobić, odłączając bibliotekę od aplikacji. Możesz przeglądać pełne źródło, w tym zarejestrowane wartości, w serwisie GitHub
Testy A / B
Testy A / B: ile eksperymentów mogę utworzyć i uruchomić?
Dozwolone jest do 300 eksperymentów na projekt, który może składać się z maksymalnie 24 uruchomionych eksperymentów, a reszta może być w wersji roboczej lub zakończona.
AdMob
AdMob: czy będę mógł połączyć swoje aplikacje Windows z Firebase?
Aplikacje systemu Windows nie są obecnie obsługiwane w konsoli Firebase.
AdMob: dlaczego nie mogę połączyć mojego konta AdMob z konsoli Firebase?
Możesz połączyć aplikację AdMob z aplikacją Firebase za pomocą konsoli AdMob. Aby połączyć konto, musisz być zarówno właścicielem projektu Firebase, jak i administratorem AdMob.
AdMob: czy wielu użytkowników może połączyć swoje konto AdMob z aplikacją Firebase?
Nie, każde konto AdMob będzie miało tylko jednego użytkownika głównego. Główny użytkownik jest pierwszym użytkownikiem, który akceptuje warunki korzystania z usługi Firebase.
Analityka
Analytics: dlaczego Google Analytics jest zalecanym elementem korzystania z produktów Firebase?
Google Analytics to bezpłatne i nieograniczone rozwiązanie analityczne, które współpracuje z funkcjami Firebase w celu dostarczania zaawansowanych statystyk. Umożliwia przeglądanie dzienników zdarzeń w Crashlytics, skuteczności powiadomień w FCM, wydajności linków precyzyjnych w przypadku linków dynamicznych oraz danych zakupów w aplikacji z Google Play. Obsługuje zaawansowane kierowanie na odbiorców w zdalnej konfiguracji, prognozach i nie tylko.
Google Analytics działa jako warstwa inteligencji w konsoli Firebase, zapewniając bardziej przydatne informacje na temat tworzenia wysokiej jakości aplikacji, powiększania bazy użytkowników i zarabiania więcej pieniędzy.
Aby rozpocząć, przeczytaj dokumentację .
Analytics: jak posegmentować użytkowników, którzy nie spełnili jakiegoś kryterium?
Możesz przeformułować problem, „kierując się negatywnie” na tych użytkowników. Na przykład przeformułuj problem na „Nie wyświetlaj reklam osobom, które coś kupiły” i stwórz grupę docelową dla tych użytkowników.
Analytics: jak kontrolować, w jaki sposób moje dane Analytics są udostępniane reszcie Firebase?
Domyślnie Twoje dane Google Analytics są używane do ulepszania innych funkcji Firebase i Google. W każdej chwili możesz kontrolować sposób udostępniania danych Google Analytics w ustawieniach projektu. Dowiedz się więcej o ustawieniach udostępniania danych .
Analytics: co to jest nowe, w pełni zaktualizowane konto Google Analytics?
You can read more about the new Google Analytics upgrade in our blog post .
Analytics: How do I know if I'm using Google Analytics for Firebase or a fully upgraded Google Analytics account?
If you see a link to "View your data in Google Analytics" from the analytics dashboard in the Firebase console, then your project is using a fully upgraded Google Analytics account.
You can also check by viewing the Google Analytics card in the Firebase console (you can access this from settings > Project Settings > Integrations , then click Manage ). If you see a Linked Google Analytics account listed in the Your Google Analytics property section, your project is using the full Google Analytics experience in Firebase. If you do not see a Linked Google Analytics account , your project is using Google Analytics for Firebase.
Analytics: What will happen to my data when I upgrade to the new Google Analytics for Firebase?
This will not affect your existing Firebase project analytics data in the Firebase console.
You will be able to continue using the same dashboard and workflows you are using today, and you will also have access to some advanced features in Google Analytics.
Note that if you decide to enable cross-device reporting after making the upgrade, your data will be de-duplicated using the UserID. This may decrease some user counts in the Firebase console.
Analytics: What is Firebase User Segmentation Storage?
Firebase User Segmentation Storage stores audience lists you've created to provide targeting information to other Firebase services that use them, such as Crashlytics, FCM, Predictions, and more.
Analytics: Why don't I see any data after unlinking my app from Google Analytics?
Your analytics data resides within the Google Analytics property - not within the Firebase project. If you delete or unlink the property, then your data is unlinked from your project as well. The data still resides in that property, however, and you can always relink it to your project.
Creating a new Google Analytics account (and new property) will result in having a blank analytics dashboard in the Firebase console.
Analytics: Why do I get an error when trying to upgrade my project to the new Google Analytics experience?
If you are experiencing and error when upgrading, such as:
The operation has failed (Reason: Requested entity already exists)
or
The operation has failed (Reason: Precondition check failed)
This means that there is an association between your project and an already existing Google Analytics property. You can unlink the property, delete it, or upgrade through the Google Analytics interface.
If this is still an issue, you can use the REST API to unlink by using the removeAnalytics
method , then use the addGoogleAnalytics
method to link a new property.
You can then move the data from one property to another .
Analytics: Will audiences and/or events defined in Google Analytics be available on the Firebase console?
Your audiences and user properties will be synced. For some features, you'll need to use the Google Analytics interface, such as segmentation and closed funnels. You can access the Google Analytics interface directly via deep-links from the Firebase console. Any changes you make from the Firebase console can also be performed in Google Analytics, and those changes will be reflected in Firebase.
App Indexing
App Indexing: Can Google Search index multiple languages for a single app?
Google Search supports the following multi-language cases:
- The associated website has unique URLs for each language, and there is one corresponding app HTTP URL for each web URL.
- The associated website has unique URLs for each language, but there is only one app HTTP URL. The app uses system language settings to display the correct language content.
- The associated website has one URL for all languages (or it supports only one language), and there is one corresponding app URL. The website and the application must display the content in the same language when the user has set no preference.
App Indexing: Can App Indexing support multiple websites for an app?
Yes. Make sure that each associated website is verified for the Android app via the Google Play Console . Learn how to verify your app .
App Indexing: Do sitemaps need to be added via the Search Console?
iOS does not require sitemaps, and Android does not require them as long as your app supports HTTP URLs. For custom URLs, you do not need to add sitemaps via Search Console. You can reference sitemaps in your robots.txt
file and Google Search will use them. Learn more about managing sitemaps . However, submitting a sitemap through Search Console lets you see statistics on submitted and indexed HTTP URLs in Search Console.
Authentication
Firebase Authentication: Which countries are supported for phone authentication?
Firebase Authentication supports phone number verification across the the world, but not all networks reliably deliver our verification messages. The following countries have good rates of delivery, and should be expected to work well for phone number sign in.
Country | Code |
---|---|
AD | Andorra |
AE | United Arab Emirates |
AF | Afghanistan |
AG | Antigua and Barbuda |
AL | Albania |
AM | Armenia |
AO | Angola |
AR | Argentina |
AS | American Samoa |
AT | Austria |
AU | Australia |
AW | Aruba |
AZ | Azerbaijan |
BA | Bosnia and Herzegovina |
BB | Barbados |
BD | Bangladesh |
BE | Belgium |
BF | Burkina Faso |
BG | Bulgaria |
BJ | Benin |
BM | Bermuda |
BN | Brunei Darussalam |
BO | Bolivia |
BR | Brazil |
BS | Bahamas |
BT | Bhutan |
BW | Botswana |
BY | Belarus |
BZ | Belize |
CA | Canada |
CD | Congo, (Kinshasa) |
CF | Central African Republic |
CG | Congo (Brazzaville) |
CH | Switzerland |
CI | Côte d'Ivoire |
CK | Cook Islands |
CL | Chile |
CM | Cameroon |
CO | Colombia |
CR | Costa Rica |
CV | Cape Verde |
CW | Curaçao |
CY | Cyprus |
CZ | Czech Republic |
DE | Germany |
DJ | Djibouti |
DK | Denmark |
DM | Dominica |
DO | Dominican Republic |
DZ | Algeria |
EC | Ecuador |
EG | Egypt |
ES | Spain |
ET | Ethiopia |
FI | Finland |
FJ | Fiji |
FK | Falkland Islands (Malvinas) |
FM | Micronesia, Federated States of |
FO | Faroe Islands |
FR | France |
GA | Gabon |
GB | United Kingdom |
GD | Grenada |
GE | Georgia |
GF | French Guiana |
GG | Guernsey |
GH | Ghana |
GI | Gibraltar |
GL | Greenland |
GM | Gambia |
GP | Guadeloupe |
GQ | Equatorial Guinea |
GR | Greece |
GT | Guatemala |
GY | Guyana |
HK | Hong Kong, SAR China |
HN | Honduras |
HR | Croatia |
HT | Haiti |
HU | Hungary |
ID | Indonesia |
IE | Ireland |
IL | Israel |
IM | Isle of Man |
IN | India |
IQ | Iraq |
IT | Italy |
JE | Jersey |
JM | Jamaica |
JO | Jordan |
JP | Japan |
KE | Kenya |
KG | Kyrgyzstan |
KH | Cambodia |
KM | Comoros |
KN | Saint Kitts and Nevis |
KR | Korea (South) |
KW | Kuwait |
KY | Cayman Islands |
KZ | Kazakhstan |
LA | Lao PDR |
LB | Lebanon |
LC | Saint Lucia |
LI | Liechtenstein |
LK | Sri Lanka |
LS | Lesotho |
LT | Lithuania |
LU | Luxembourg |
LV | Latvia |
LY | Libya |
MA | Morocco |
MD | Moldova |
ME | Montenegro |
MF | Saint-Martin (French part) |
MG | Madagascar |
MK | Macedonia, Republic of |
MM | Myanmar |
MN | Mongolia |
MO | Macao, SAR China |
MS | Montserrat |
MT | Malta |
MU | Mauritius |
MW | Malawi |
MX | Mexico |
MY | Malaysia |
MZ | Mozambique |
NA | Namibia |
NC | New Caledonia |
NE | Niger |
NF | Norfolk Island |
NG | Nigeria |
NI | Nicaragua |
NL | Netherlands |
NO | Norway |
NP | Nepal |
NZ | New Zealand |
OM | Oman |
PA | Panama |
PE | Peru |
PG | Papua New Guinea |
PH | Philippines |
PK | Pakistan |
PL | Poland |
PM | Saint Pierre and Miquelon |
PR | Puerto Rico |
PS | Palestinian Territory |
PT | Portugal |
PY | Paraguay |
QA | Qatar |
RE | Réunion |
RO | Romania |
RS | Serbia |
RU | Russian Federation |
RW | Rwanda |
SA | Saudi Arabia |
SC | Seychelles |
SE | Sweden |
SG | Singapore |
SH | Saint Helena |
SI | Slovenia |
SK | Slovakia |
SL | Sierra Leone |
SN | Senegal |
SR | Suriname |
ST | Sao Tome and Principe |
SV | El Salvador |
SZ | Swaziland |
TC | Turks and Caicos Islands |
TG | Togo |
TH | Thailand |
TL | Timor-Leste |
TM | Turkmenistan |
TO | Tonga |
TR | Turkey |
TT | Trinidad and Tobago |
TW | Taiwan, Republic of China |
TZ | Tanzania, United Republic of |
UA | Ukraine |
UG | Uganda |
US | United States of America |
UY | Uruguay |
UZ | Uzbekistan |
VC | Saint Vincent and Grenadines |
VE | Venezuela (Bolivarian Republic) |
VG | British Virgin Islands |
VI | Virgin Islands, US |
VN | Viet Nam |
WS | Samoa |
YE | Yemen |
YT | Mayotte |
ZA | South Africa |
ZM | Zambia |
ZW | Zimbabwe |
Cloud Functions
Cloud Functions runtime support
Why is the Node.js 8 runtime deprecated?
On Dec 31, 2019, Node.js 8 was marked end-of-life by the Node.js Foundation . At that time, the Node.js Foundation stopped issuing security releases for Node.js 8. Because of this, we recommend that you update to Node.js 10 or later as soon as you can.
What happens if a Node.js 8 function is left running after the removal of Node.js 8 support? Will it work indefinitely?
No it will not. Deployment of functions to the Node.js 8 runtime was disabled in the Firebase CLI on December 15, 2020. Execution of already-deployed functions will stop at some point in the future; if you have deployed functions to the Node.js 8 runtime, we recommend that you upgrade to the Node.js 12 runtime .
How do I upgrade to Node.js 12?
- Make sure you're on the Blaze pay-as-you-go billing plan .
- Make sure you are using Firebase CLI version 8.1.0 or later.
- Change the
engines
field in your functions'package.json
. - Optionally, test your changes using the Firebase emulator .
- Redeploy functions using the Firebase CLI v8.1.0 or later.
How can I make sure I deployed my functions to the Node.js 12 runtime?
In the Firebase console, go to the functions dashboard and check the runtime column.
I use Firebase Extensions. Will I be affected by this change?
Yes. 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 upgrade your Firebase project to the Blaze plan and update to the latest version of each extension installed in your project. You can upgrade your projects' extensions on the Firebase console or 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.
Capabilities | Notifications composer | Cloud Messaging | |
---|---|---|---|
Target | 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 | |||
Message Type | Notifications up to 2kb | ||
Data messages up to 4kb | |||
Delivery | Immediate | ||
Future client device local time | |||
Analytics | Built-in Notifications analytics collection and funnel analytics |
Cloud Messaging: Apple announced they're decprecating the legacy binary protocol for APNs. Do I need to do anything?
No. Firebase Cloud Messaging swtiched 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 for Firebase.
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.
For more information, see Receive and handle messages .
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:
Capabilities | Notifications composer | Cloud Messaging | |
---|---|---|---|
Target | 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 | |||
Message Type | Notifications up to 2kb | ||
Data messages up to 4kb | |||
Delivery | Immediate | ||
Future client device local time | |||
Analytics | 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. What should I do?
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 for Firebase. 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.
Cloud Storage
Cloud Storage: Why can't I use Cloud Storage?
Cloud Storage for Firebase creates a default bucket in the App Engine free 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 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: Why do I see new service account IDs associated with my Firebase projects that use Cloud Storage?
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.
If you used Cloud Storage before September 15, 2020, you may see the following legacy service account that is used to manage your bucket: firebase-storage@system.gserviceaccount.com
.
After September 15, 2020, Cloud Storage for Firebase buckets may include an additional new service account: service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com
.
You can view all service accounts associated with your project in the Firebase console, on the Service accounts tab .
Removing the new service account
We strongly discourage you from removing the new service account because if you do so, you will not be able to take advantage of upcoming security improvements.
However, if you prefer, you can disable the API or remove access from the new service account. Removing this account may block access to your Cloud Storage bucket from your apps.
Adding the new service account
If you removed the new service account or disabled the API and want to add them back, follow the instructions provided in Creating and managing service accounts for using the Google Cloud Console to add service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com
to the set of service accounts for your project.
Crashlytics
Visit the Crashlytics troubleshooting & FAQ page for helpful tips and answers to more FAQs.
Crash Reporting: Why are there fewer crash reports in Analytics than Crash Reporting?
Crash Reporting creates a separate background process to upload crash info. If your app extends the Android Application class, you must ensure it is multi-process safe. Otherwise, it may cause concurrency issues. When an app extends an Application object, this object gets instantiated for each process in a multi-process app. Consider the following when adding Crash Reporting to your app:
- If the implementation of this object accesses any out-of-process state (a database, the file system, shared preferences, etc), or performs other actions not safe for a multi-process environment, concurrency issues might arise. This is because multiple instances of the Application object may run simultaneously.
- Many third-party libraries keep out-of-process state (eg in a local database) and are subject to the same concurrency issues if they are initialized from the Application object. If your app fits this description and you plan to use Crash Reporting in your app, we strongly encourage you to consider moving the Application logic to Content Providers, or to Android Activities. Any Application logic that is not safe for a multi-process environment can have unintended effects on your app.
Crash Reporting automatically exports captured errors to Google Analytics as app_exception events. Currently on Android, you may see a significant discrepancy between the number of Crash Reporting errors and Analytics app_exception events.
Dynamic Links
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.
Hosting
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?
The Firebase Hosting multisite feature supports a maximum of 36 sites per project.
Performance Monitoring
Visit the Performance Monitoring troubleshooting & FAQ page for helpful tips and answers to more FAQs.
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
- 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.
Predictions
Predictions: I just added Google Analytics to my app. When should I expect to see predictions in the console?
Predictions are based on your users' behavior, and the more history that's available, the better. At a bare minimum, Firebase Predictions needs two weeks of data: one week of activity to train on, and then one week to see what that activity led to (churning, spending, etc.). Beyond the first two weeks, the quality of the predictions will typically increase as Predictions observes longer sequences of user activity.
Predictions: How long does it take for predictions to be made about a new user?
For an app that is already instrumented with Google Analytics and trained with baseline data, predictions can be made for new users as early as the next day after they start using the app.
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.
In addition, each database instance has a cap on the number of simultaneous database connections . Our default limits are large enough for most applications. If you are building an app that requires additional scale, you may need to shard your application across multiple database instances for added scale. You may also consider Cloud Firestore as an alternative database.
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 billing 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 ofonce()
. - Use security rules to block unauthorized downloads.
If you're over your storage limit, upgrade your billing 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.
To learn more about the Remote Config API and usage model, see Remote Config API Overview .
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.
Test Lab
Visit the Test Lab troubleshooting page for helpful tips and answers to FAQs.