Masz inne wyzwania lub Twój problem nie jest opisany poniżej? Zgłoś błąd lub poproś o funkcję i dołącz do dyskusji na temat Stack Overflow.
Projekty Firebase i aplikacje Firebase
Czym jest projekt Firebase?
Projekt Firebase jest elementem najwyższego poziomu w Firebase. W projekcie możesz zarejestrować aplikacje Apple, na Androida lub aplikacje internetowe. Po zarejestrowaniu aplikacji w Firebase możesz dodać do niej pakiety SDK Firebase dotyczące konkretnej usługi, np. Analytics, Cloud Firestore, Crashlytics lub Zdalną konfigurację.
Wersje aplikacji na Apple, Androida i aplikacji internetowej należy zarejestrować w jednym projekcie Firebase. Możesz używać wielu projektów Firebase do obsługi wielu środowisk, takich jak programistyczne, przejściowe i produkcyjne.
Oto materiały, z których dowiesz się więcej o projektach Firebase:
- Omówienie projektów Firebase – zawiera krótkie omówienie kilku ważnych pojęć związanych z projektami Firebase, w tym ich relacji z Google Cloud oraz podstawowej hierarchii projektu oraz jego aplikacji i zasobów.
- Ogólne sprawdzone metody konfigurowania projektów Firebase zawierają ogólne, ogólne sprawdzone metody konfigurowania projektów Firebase i rejestrowania aplikacji w projekcie. Dzięki temu uzyskasz przejrzysty przepływ pracy programistyczny wykorzystujący różne środowiska.
Pamiętaj, że w przypadku wszystkich projektów Firebase Firebase automatycznie dodaje etykietę firebase:enabled
na stronie Etykiety projektu w konsoli Google Cloud. Więcej informacji o tej etykiecie znajdziesz w najczęstszych pytaniach.
Czym jest organizacja Google Cloud?
Organizacja Google Cloud jest kontenerem na projekty Google Cloud (w tym projekty Firebase). Ta hierarchia umożliwia lepszą organizację projektów Google Cloud i Firebase oraz zarządzanie nimi, a także ich kontrolę. Więcej informacji znajdziesz w artykule o tworzeniu organizacji i zarządzaniu nimi.
Jak dodać Firebase do istniejącego projektu Google Cloud?
Możliwe, że masz już projekty Google Cloud zarządzane za pomocą konsoli Google Cloud lub konsoli interfejsów API Google.
Możesz dodać Firebase do istniejących projektów za pomocą dowolnej z następujących opcji:
- W konsoli Firebase:
Na stronie docelowej konsoli Firebase kliknij Dodaj projekt i wybierz istniejący projekt w menu Nazwa projektu. - Za pomocą opcji automatyzacji:
- Wywołaj punkt końcowy interfejsu Firebase Management REST API
addFirebase
. - Uruchom polecenie wiersza poleceń Firebase
firebase projects:addfirebase
. - Użyj Terraform.
- Wywołaj punkt końcowy interfejsu Firebase Management REST API
Dlaczego mój projekt Google Cloud ma etykietę firebase:enabled
?
Na stronie Etykiety projektu w konsoli Google Cloud możesz zobaczyć etykietę firebase:enabled
(konkretnie Key
z firebase
z Value
o wartości enabled
).
Firebase automatycznie dodał tę etykietę, ponieważ Twój projekt jest projektem Firebase, co oznacza, że ma w nim włączone konfiguracje i usługi Firebase. Dowiedz się więcej o relacji między projektami Firebase a Google Cloud.
Zdecydowanie odradzamy modyfikowanie ani usuwanie tej etykiety. Ta etykieta jest używana przez Firebase i Google Cloud do wyświetlania listy projektów Firebase (np. za pomocą punktu końcowego projects.list
interfejsu API REST lub w menu w konsoli Firebase).
Pamiętaj, że ręczne dodanie tej etykiety do listy etykiet projektu NIE włącza w projekcie Google Cloud konfiguracji ani usług Firebase. Aby to zrobić, musisz dodać Firebase za pomocą konsoli Firebase (lub – w przypadku zaawansowanych zastosowań – za pomocą interfejsu Firebase Management REST API lub interfejsu wiersza poleceń Firebase).
Dlaczego mojego projektu Firebase nie ma na liście projektów Firebase?
To pytanie dotyczy sytuacji, gdy nie widzisz swojego projektu Firebase w tych miejscach:
- na liście projektów, które przeglądasz w konsoli Firebase;
- W odpowiedzi z wywołania punktu końcowego
projects.list
interfejsu API REST - W odpowiedzi po uruchomieniu polecenia interfejsu wiersza poleceń Firebase
firebase projects:list
Aby spróbować go rozwiązać, wykonaj te czynności:
- Najpierw spróbuj uzyskać dostęp do projektu, otwierając bezpośrednio jego adres URL. Użyj tego formatu:
https://console.firebase.google.com/project/PROJECT-ID/overview
- Jeśli nie masz dostępu do projektu lub nie możesz uzyskać błędów uprawnień, sprawdź te możliwości:
- Pamiętaj, aby zalogować się w Firebase na to samo konto Google, które ma dostęp do projektu. Możesz logować się w konsoli Firebase i wylogowywać się z niej, korzystając z awatara konta w prawym górnym rogu konsoli.
- Sprawdź, czy możesz wyświetlić projekt w konsoli Google Cloud.
- Sprawdź, czy projekt ma etykietę
firebase:enabled
na stronie Etykiety projektu w konsoli Google Cloud. Firebase i Google Cloud używają tej etykiety do wyświetlania listy projektów Firebase. Jeżeli nie widzisz tej etykiety, ale interfejs Firebase Management API jest włączony w Twoim projekcie, dodaj ją ręcznie (konkretnieKey
zfirebase
zValue
oenabled
). - Sprawdź, czy masz przypisaną jedną z podstawowych ról uprawnień (Właściciel, Edytujący lub Wyświetlający) lub rolę z uprawnieniami związanymi z Firebase, na przykład zdefiniowaną rolę Firebase. Swoje role możesz wyświetlić na stronie Uprawnienia w konsoli Google Cloud.
- Jeśli Twój projekt należy do organizacji Google Cloud, możesz potrzebować dodatkowych uprawnień, aby wyświetlić go w konsoli Firebase. Skontaktuj się z osobą, która zarządza Twoją organizacją Google Cloud, i poproś o przyznanie Ci odpowiedniej roli umożliwiającej wyświetlanie projektu, na przykład roli przeglądarki.
Jeśli żadna z tych czynności nie umożliwi Ci wyświetlenia projektu na liście projektów Firebase, skontaktuj się z zespołem pomocy Firebase.
Ile projektów można mieć na koncie?
- Abonament Spark – limit projektu jest ograniczony do niewielkiej liczby projektów (zwykle jest to około 5–10).
- Abonament Blaze – limit projektu na konto rozliczeniowe Cloud znacznie wzrasta, jeśli Twoje konto rozliczeniowe Cloud ma dobrą opinię.
Większość deweloperów rzadko zwraca uwagę na limit projektów, ale w razie potrzeby możesz poprosić o zwiększenie limitu projektów.
Pamiętaj, że całkowite usunięcie projektu zajmuje 30 dni i wlicza się do limitu, aż zostanie całkowicie usunięty.
Ile aplikacji Firebase można mieć w projekcie Firebase?
Projekt Firebase jest kontenerem dla aplikacji Firebase na urządzeniach Apple, z Androidem i w sieci. Firebase ogranicza łączną liczbę aplikacji Firebase w projekcie Firebase do 30.
Gdy ta liczba zostanie obliczona, wydajność zacznie się pogarszać (zwłaszcza w przypadku Google Analytics), a w przypadku większej liczby aplikacji niektóre funkcje usługi przestaną działać. Poza tym, jeśli jako dostawcy uwierzytelniania używasz Logowania przez Google, dla każdej aplikacji w projekcie tworzony jest bazowy identyfikator klienta OAuth 2.0. W jednym projekcie można utworzyć maksymalnie 30 identyfikatorów klientów.
Upewnij się, że wszystkie aplikacje Firebase w pojedynczym projekcie Firebase są wariantami platformy tej samej aplikacji z perspektywy użytkownika. Jeśli na przykład tworzysz aplikację dostosowaną do białej listy, każda aplikacja niezależnie oznaczona niezależnie powinna mieć własny projekt Firebase, ale wersje tej etykiety na urządzenia Apple i z Androidem mogą znajdować się w tym samym projekcie. Bardziej szczegółowe wskazówki znajdziesz w ogólnych sprawdzonych metodach konfigurowania projektów Firebase.
W rzadkich przypadkach, gdy projekt wymaga ponad 30 aplikacji, możesz poprosić o zwiększenie limitu aplikacji. Aby można było wysłać to żądanie, Twój projekt musi być objęty abonamentem Blaze. Otwórz konsolę Google Cloud, aby przesłać prośbę i przekazać ją do rozpatrzenia. Więcej informacji o zarządzaniu limitami znajdziesz w dokumentacji Google Cloud.
Co się stanie, jeśli oznaczę projekt tagiem jako środowisko „produkcyjne”?
W konsoli Firebase możesz oznaczać projekty Firebase według typu środowiska – produkcyjnego lub nieokreślonego (nieprodukcyjnego).
Oznaczenie projektu jako typu środowiska nie ma wpływu na działanie projektu Firebase ani na jego funkcje. Tagowanie może jednak pomóc Tobie i Twojemu zespołowi zarządzać różnymi projektami Firebase dotyczącymi cyklu życia aplikacji.
Jeśli oznaczysz projekt jako środowisko produkcyjne, dodamy do niego kolorowy tag Prod w konsoli Firebase, przypominający, że wszelkie zmiany mogą mieć wpływ na powiązane produkcyjne aplikacje. W przyszłości możemy dodać więcej funkcji i środków ochrony dla projektów Firebase otagowanych jako środowiska produkcyjne.
Aby zmienić typ środowiska projektu Firebase, kliknij settings Ustawienia projektu > Ogólne, a potem na karcie Twój projekt w sekcji Środowisko kliknij edit, aby zmienić typ środowiska.
Gdzie znajdę identyfikator mojej aplikacji Firebase?
W konsoli Firebase otwórz settings Ustawienia projektu. Przewiń w dół do karty Twoje aplikacje, a potem kliknij wybraną aplikację Firebase, aby wyświetlić informacje o niej, w tym jej identyfikator.
Oto kilka przykładowych wartości identyfikatora aplikacji:
-
Aplikacje Firebase na iOS:
1:1234567890:ios:321abc456def7890
-
Aplikacje Firebase na Androida:
1:1234567890:android:321abc456def7890
-
Aplikacje internetowe Firebase:
1:1234567890:web:321abc456def7890
Jakie warunki wstępne muszę spełnić, aby połączyć Google Play / AdMob / Google Ads / BigQuery z moim projektem lub aplikacją Firebase?
- Aby połączyć konto Google Play, potrzebujesz:
- jedną z tych ról Firebase: Właściciel lub Administrator Firebase
i - Jeden z tych poziomów dostępu do Google Play: Właściciel konta lub Administrator
- jedną z tych ról Firebase: Właściciel lub Administrator Firebase
- Aby połączyć aplikację AdMob, musisz być zarówno właścicielem projektu Firebase, jak i administratorem AdMob.
- Aby połączyć 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 informacje na temat oprogramowania open source należy umieścić w aplikacji?
Na platformach Apple pod Firebase znajduje się plik NOTES, który zawiera odpowiednie wpisy. Pakiet SDK Firebase na Androida zawiera element pomocniczy Activity
wyświetlający informacje o licencji.
Uprawnienia i dostęp do projektów Firebase
Jak przypisać członkowi projektu rolę taką jak właściciel?
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 nimi zarządzać:
- Konsola Firebase zapewnia uproszczony sposób przypisywania ról członkom projektu na karcie Użytkownicy i uprawnienia na stronie settings > Ustawienia projektu. W konsoli Firebase możesz przypisać dowolne role podstawowe (Właściciel, Edytujący, Przeglądający), Administrator/Przeglądający w Firebase oraz dowolne ze zdefiniowanych wstępnie ról w kategorii produktów Firebase.
- Konsola Google Cloud udostępnia szeroki zestaw narzędzi do przypisywania ról członkom projektu na stronie Uprawnienia. W konsoli Cloud możesz też tworzyć role niestandardowe i nimi zarządzać, a także przyznawać dostęp do projektu kontom usługi.
Pamiętaj, że w konsoli Google Cloud członkowie projektu są nazywani podmiotami zabezpieczeń.
Jeśli właściciel projektu nie może już wykonywać zadań właściciela (np. osoba, która odeszła z firmy), a Twój projekt nie jest zarządzany przez organizację Google Cloud (patrz następny akapit), możesz skontaktować się z zespołem pomocy Firebase i poprosić o przypisanie tymczasowego właściciela.
Pamiętaj, że jeśli projekt Firebase należy do 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 i poproś o przypisanie właściciela projektu.
Jak znaleźć właściciela projektu Firebase?
Członkowie projektu i ich role możesz wyświetlić w tych miejscach:
- Jeśli masz dostęp do projektu w konsoli Firebase, listę jego członków, w tym właścicieli, możesz wyświetlić na stronie Użytkownicy i uprawnienia w konsoli Firebase.
- Jeśli nie masz dostępu do projektu w konsoli Firebase, sprawdź w konsoli Google Cloud, czy masz do niego dostęp. Listę członków projektu, w tym właścicieli, możesz wyświetlić na stronie Uprawnienia w konsoli Google Cloud.
Jeśli właściciel projektu nie może już wykonywać zadań właściciela (np. osoba, która odeszła z firmy), a Twój projekt nie jest zarządzany przez organizację Google Cloud (patrz następny akapit), możesz skontaktować się z zespołem pomocy Firebase i poprosić o przypisanie tymczasowego właściciela.
Pamiętaj, że jeśli projekt Firebase należy do organizacji Google Cloud, może nie mieć właściciela. Zamiast tego osoba zarządzająca Twoją organizacją w Google Cloud może wykonywać wiele czynności, które może wykonywać właściciel. Jednak aby wykonywać kilka czynności właściciela (takich jak przypisywanie ról lub zarządzanie usługami w Google Analytics), administrator może mieć obowiązek przypisania sobie rzeczywistej roli 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 i poproś o przypisanie właściciela projektu.
Kiedy i dlaczego należy przypisać członkowi projektu rolę właściciela?
Aby można było prawidłowo zarządzać projektem Firebase, musi on mieć właściciela. Właściciel projektu to osoba, która może wykonywać kilka ważnych działań administracyjnych (np. przypisywać role i zarządzać usługami Google Analytics), a zespół pomocy Firebase może spełniać tylko żądania administracyjne przesłane przez wykazanych właścicieli projektu.
Po skonfigurowaniu właścicieli projektu Firebase ważne jest, aby te przypisania były aktualne.
Pamiętaj, że jeśli projekt Firebase należy do organizacji Google Cloud, osoba zarządzająca organizacją Google Cloud może wykonywać wiele czynności, które może wykonywać właściciel. Jednak w przypadku kilku zadań właściciela (takich jak przypisywanie ról lub zarządzanie usługami w Google Analytics) administrator może być zmuszony do przypisania sobie rzeczywistej roli właściciela, aby wykonać te zadania.
Wydaje mi się, że nie mam projektu Firebase, ale dotarł do mnie e-mail na jego temat. Jak uzyskać dostęp do projektu?
E-mail powinien zawierać link umożliwiający otwarcie projektu Firebase. Kliknięcie linku w e-mailu powinno otworzyć projekt w konsoli Firebase.
Jeśli nie możesz otworzyć projektu w linku, sprawdź, czy korzystasz z Firebase przy użyciu tego samego konta Google, na które wysłaliśmy e-maila o projekcie. Możesz logować się w konsoli Firebase i wylogowywać się z niej, korzystając z awatara konta w prawym górnym rogu konsoli.
Jeśli jesteś administratorem organizacji w Google Cloud, możesz otrzymywać powiadomienia o zmianach w projektach Firebase w organizacji. Możesz jednak nie mieć wystarczających uprawnień do otwierania projektu Firebase. W takich przypadkach najprostszym rozwiązaniem jest przypisanie sobie rzeczywistej roli właściciela, która pozwoli Ci otworzyć projekt i wykonać wymagane działania. Dowiedz się, dlaczego i kiedy należy przypisać rolę właściciela.
Platformy i platformy
Na stronach z najczęstszymi pytaniami i wskazówkami dotyczącymi poszczególnych platform znajdziesz przydatne wskazówki i odpowiedzi.
Konsola Firebase
W jakich przeglądarkach można korzystać z konsoli Firebase?
Z konsoli Firebase można korzystać w najnowszych wersjach 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źć projektu Firebase lub uzyskać do niego dostępu?
To pytanie dotyczy sytuacji, w której występuje któryś z tych problemów:
- Konsola Firebase wyświetli stronę błędu z informacją, że projekt może nie istnieć lub nie masz do niego dostępu.
- Konsola Firebase nie wyświetla Twojego projektu, nawet jeśli w polu wyszukiwania konsoli wpiszesz identyfikator lub nazwę projektu.
Aby spróbować go rozwiązać, wykonaj te czynności:
- Najpierw spróbuj uzyskać dostęp do projektu, otwierając bezpośrednio jego adres URL. Użyj tego formatu:
https://console.firebase.google.com/project/PROJECT-ID/overview
- Jeśli nadal nie masz dostępu do projektu lub nie możesz uzyskać błędów uprawnień, sprawdź te możliwości:
- Pamiętaj, aby zalogować się w Firebase na to samo konto Google, które ma dostęp do projektu. Możesz logować się w konsoli Firebase i wylogowywać się z niej, korzystając z awatara konta w prawym górnym rogu konsoli.
- Upewnij się, że w projekcie włączony jest interfejs Firebase Management API.
- Sprawdź, czy masz przypisaną jedną z podstawowych ról uprawnień (Właściciel, Edytujący, Wyświetlający) lub rolę z uprawnieniami związanymi z Firebase, na przykład zdefiniowaną wstępnie rolą Firebase. Swoje role możesz wyświetlić na stronie Uprawnienia w konsoli Google Cloud.
- Jeśli Twój projekt należy do organizacji Google Cloud, możesz potrzebować dodatkowych uprawnień, aby wyświetlić go w konsoli Firebase. Skontaktuj się z osobą, która zarządza Twoją organizacją Google Cloud, i poproś o przyznanie Ci odpowiedniej roli umożliwiającej wyświetlanie projektu, na przykład roli przeglądarki.
Jeśli żadna z tych czynności nie pozwoli Ci znaleźć projektu ani uzyskać do niego dostępu, skontaktuj się z zespołem pomocy Firebase.
Dlaczego konsola Firebase się nie wczytuje?
To pytanie dotyczy sytuacji, w której występuje któryś z następujących problemów:
- Strona w konsoli Firebase nigdy się nie wczytuje.
- Dane na stronie nie wczytują się zgodnie z oczekiwaniami.
- Podczas wczytywania konsoli Firebase pojawiają się komunikaty o błędach przeglądarki.
Aby spróbować go rozwiązać, wykonaj te czynności:
- W wierszu Konsola w panelu stanu Firebase poszukaj informacji o możliwych przerwach w działaniu usługi.
- Sprawdź, czy 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 połączenie sieciowe nie jest blokowane przez blokadę reklam, antywirusa, serwer proxy, zaporę sieciową lub inne oprogramowanie.
- Spróbuj załadować konsolę Firebase, używając innej sieci lub innego urządzenia.
- Jeśli używasz Chrome, sprawdź, czy w konsoli Narzędzi dla programistów nie ma błędów.
Jeśli żaden z tych kroków nie rozwiąże problemu, skontaktuj się z zespołem pomocy Firebase.
Jak określany jest język konsoli Firebase?
Ustawienie języka w konsoli Firebase zależy od języka wybranego w ustawieniach konta Google.
Aby zmienić ustawienia języka, zobacz Zmienianie języka.
Konsola Firebase obsługuje następujące języki:
- angielski
- Portugalski (Brazylia)
- Francuski
- niemiecki
- Indonezyjski
- japoński
- Koreański
- Rosyjski
- Chiński uproszczony
- Hiszpański
- Chiński tradycyjny
Jakie role i uprawnienia obsługuje konsola Firebase?
Konsola Firebase i konsola Google Cloud używają tych samych podstawowych ról i uprawnień. Więcej informacji o rolach i uprawnieniach znajdziesz w dokumentacji uprawnień Firebase.
Firebase obsługuje podstawowe (podstawowe) role właściciela, edytującego i wyświetlającego:
- Właściciel projektu może dodawać innych użytkowników do projektu, konfigurować integracje (łączenie projektów z usługami takimi jak BigQuery lub Slack) i mieć pełne uprawnienia do edycji projektu.
- Edytujący projekt ma pełne uprawnienia do edycji projektu.
- Wyświetlający projekt ma uprawnienia tylko do odczytu. Pamiętaj, że obecnie konsola Firebase nie ukrywa/wyłącza opcji interfejsu użytkownika przed przeglądającymi projektu, ale te operacje będą zakończyć się niepowodzeniem w przypadku użytkowników projektu, którzy mają przypisaną rolę Przeglądający.
Firebase obsługuje również:
- Wstępnie zdefiniowane role Firebase – wybrane role specyficzne dla Firebase, które zapewniają dokładniejszą kontrolę dostępu niż podstawowe role właściciela, edytującego i wyświetlającego.
- Role niestandardowe – w pełni dostosowane role uprawnień, które tworzysz, by dostosować zestaw uprawnień do konkretnych wymagań Twojej organizacji.
Ceny
Które produkty są płatne? Które z nich są bezpłatne?
Płatna infrastruktura Firebase to: Baza danych czasu rzeczywistego, Cloud Storage dla Firebase, Cloud Functions, Hosting, Laboratorium i uwierzytelnianie przez telefon. Wszystkie te funkcje są dostępne w ramach bezpłatnego poziomu.
Firebase oferuje też wiele bezpłatnych usług: Analytics, Komunikacja w chmurze, narzędzie do tworzenia powiadomień, Zdalna konfiguracja, Indeksowanie aplikacji, Linki dynamiczne i Zgłaszanie awarii. Korzystanie z tych usług podlega wyłącznie zasadom kontroli ruchu (dotyczącym np. limitów, sprawiedliwego dostępu i innym zabezpieczeniom usług) we wszystkich abonamentach, w tym w ramach bezpłatnego abonamentu Spark. Dodatkowo wszystkie funkcje uwierzytelniania poza uwierzytelnianiem przez telefon są bezpłatne.
Czy Firebase oferuje bezpłatne środki do wykorzystania w okresie próbnym w przypadku płatnych usług?
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 do wykorzystania w ramach Rozliczeń usługi Google Cloud, aby zapoznać się z produktami i usługami Google Cloud oraz Firebase i ocenić je.
W trakcie bezpłatnego okresu próbnego Google Cloud otrzymasz bezpłatne konto rozliczeniowe Cloud. Podczas bezpłatnego okresu próbnego każdy projekt Firebase, który korzysta z tego konta rozliczeniowego, będzie objęty abonamentem Blaze.
Skonfigurowanie bezpłatnego konta rozliczeniowego Cloud w wersji próbnej nie pozwala nam na obciążanie Cię opłatami. Nie będziemy naliczać opłat, dopóki nie włączysz płatności, zmieniając bezpłatne konto rozliczeniowe Cloud w okres próbny na konto płatne. W dowolnym momencie okresu próbnego możesz przejść na konto płatne. Po przejściu na wyższą wersję nadal możesz wykorzystać pozostałe środki (w ciągu 90 dni).
Aby nadal korzystać z projektu Firebase po wygaśnięciu bezpłatnego okresu próbnego, musisz zmienić abonament na Spark lub skonfigurować abonament Blaze w konsoli Firebase.
Dowiedz się więcej o bezpłatnym okresie próbnym Google Cloud.
Jak sprawdzić, który abonament jest dla mnie odpowiedni?
Abonament Spark
Nasz abonament Spark to świetne miejsce na bezpłatne tworzenie aplikacji. Korzystasz ze wszystkich bezpłatnych funkcji Firebase (Analytics, narzędzia do tworzenia powiadomień, Crashlytics itp.) oraz dużej ilości funkcji płatnej infrastruktury. Jeśli jednak w danym miesiącu kalendarzowym przekroczysz ilość zasobów abonamentu Spark, aplikacja zostanie wyłączona do końca tego miesiąca. Ponadto podczas korzystania z abonamentu Spark funkcje Google Cloud są niedostępne.
Abonament Blaze
Nasz abonament Blaze jest przeznaczony dla aplikacji w wersji produkcyjnej. Abonament Blaze umożliwia też wykorzystywanie w aplikacji płatnych funkcji Google Cloud. Zapłacisz tylko za zasoby, które wykorzystasz, co umożliwia skalowanie zgodnie z zapotrzebowaniem. Staramy się, aby ceny abonamentów Blaze były konkurencyjne w stosunku do najlepszych w branży dostawców usług w chmurze.
Jak mogę monitorować wykorzystanie subskrypcji i płatności?
Wykorzystanie zasobów projektu możesz śledzić w konsoli Firebase w jednym z tych paneli:
- Ogólny panel wykorzystania i rozliczeń na poziomie projektu
- Panel Użycie uwierzytelniania (szczególnie w przypadku instancji uwierzytelniania przez telefon)
- Panel wykorzystania Cloud Firestore
- Panel wykorzystania Cloud Functions
- Panel wykorzystania Cloud Storage
- Panel wykorzystania hostingu
- Panel Użycie Bazy danych czasu rzeczywistego
Co się stało z abonamentem Flame?
W styczniu 2020 r. abonament Flame (25 USD/mies. dodatkowego limitu) został usunięty z opcji dla nowych rejestracji. Obecni użytkownicy abonamentu otrzymali okres prolongaty na przeniesienie projektów z abonamentu Flame.
W lutym 2022 r. pozostałe projekty w ramach abonamentu Flame zostały zmienione na abonament Spark.
W związku z tym
- W istniejących projektach abonamentów Spark i Blaze oraz w nowych projektach nie można już przejść na abonament Flame ani zarejestrować się w nim.
- Jeśli przeniesiesz istniejący projekt abonamentu Flame do innego abonamentu, nie będzie on mógł wrócić do abonamentu Flame.
- Projekty, które zostały zdegradowane do abonamentu Spark, można przenieść na abonament Blaze, aby wznowić dodatkowe płatne usługi.
- Odniesienia do planu Flame zostały usunięte z dokumentacji.
Masz więcej pytań na temat wycofania abonamentu Flame? Przeczytaj poniżej niektóre dodatkowe najczęstsze pytania.
Chcesz dowiedzieć się więcej o innych abonamentach dostępnych w Firebase? Wejdź na stronę z cennikiem Firebase. Jeśli chcesz rozpocząć przenoszenie istniejących projektów na inny abonament, możesz to zrobić w konsoli Firebase projektu.
Dodatkowe najczęstsze pytania dotyczące wycofania abonamentu Flame
Reprezentuję projekt, proces lub model biznesowy, który opiera się na stałym koszcie Firebase. Co mam zrobić?
Zarejestruj się w abonamentze Blaze i pamiętaj o skonfigurowaniu alertów dotyczących budżetu.
Czy mogę uzyskać specjalny dostęp do tworzenia nowych projektów w ramach planu Flame?
Nie. Firebase nie oferuje specjalnego dostępu do projektów, w których można przejść na abonament Flame ani zarejestrować się w nim.
Zmieniam abonament w projekcie Flame na inny abonament. Jak mogę go przywrócić?
Nie można już przejść na abonament Flame. Aby uzyskać dostęp do usług w ramach abonamentu Flame, sprawdź, czy korzystasz z abonamentu Blaze, i rozważ skonfigurowanie alertów dotyczących budżetu dla swojego projektu.
W ramach wycofania abonamentu Flame mój projekt został automatycznie zmieniony na inny abonament. Co mam zrobić?
Jeśli Twój projekt wymaga dodatkowego limitu ponad limit oferowany w ramach abonamentu Spark, musisz przenieść projekt na abonament Blaze.
Dlaczego abonament Flame zostaje wycofany?
Na przestrzeni lat zaobserwowaliśmy spadek wykorzystania abonamentu Flame, a większość projektów, które z niego korzystają, nie zużywa w pełni jego wartości. Utrzymanie tego abonamentu nie jest opłacalne i uważamy, że moglibyśmy zapewnić lepszą obsługę wszystkim użytkownikom, jeśli przeznaczamy zasoby na inne inicjatywy Firebase.
Czym bezpłatne wykorzystanie w abonamencie Blaze różni się od wykorzystania w abonamencie Spark?
Bezpłatne wykorzystanie abonamentu Blaze jest obliczane codziennie. Limity wykorzystania różnią się też od abonamentu Spark dla Cloud Functions, uwierzytelniania przez telefon i Laboratorium.
W przypadku Cloud Functions bezpłatne wykorzystanie w abonamencie Blaze jest obliczane na poziomie konta rozliczeniowego Cloud, a nie projektu, i ma następujące limity:
- 2 mln wywołań miesięcznie
- 400 tys. GB-s/miesiąc
- 200 tys. sekund procesora na miesiąc
- 5 GB ruchu wychodzącego z sieci na miesiąc
W przypadku uwierzytelniania przez telefon bezpłatne wykorzystanie abonamentu Blaze jest obliczane co miesiąc.
W przypadku Laboratorium bezpłatne wykorzystanie abonamentu Blaze ma te limity:
- 30 minut na urządzeniu dziennie
- 60 minut na urządzeniu wirtualnym dziennie
Czy bezpłatny limit wykorzystania jest resetowany po przejściu z Spark na Blaze?
Abonament Blaze obejmuje bezpłatne wykorzystanie z abonamentu Spark. Bezpłatne wykorzystanie nie jest resetowane po przejściu na abonament Blaze.
Co to jest „jednoczesne połączenie z bazą danych”?
Jednoczesne połączenie jest równoważne z połączeniem urządzenia mobilnego, karty przeglądarki lub aplikacji serwera z bazą danych. Firebase nakłada sztywne limity na liczbę jednoczesnych połączeń z bazą danych aplikacji. Limity te zostały wprowadzone, aby chronić zarówno Firebase, jak i naszych użytkowników przed nadużyciami.
Limit abonamentu Spark wynosi 100 i nie można go zwiększyć. W abonamentach Flame i Blaze obowiązuje limit 200 tys. jednoczesnych połączeń na bazę danych.
Ten limit nie jest tożsamy z łączną liczbą użytkowników Twojej aplikacji, ponieważ nie wszyscy użytkownicy łączą się ze sobą jednocześnie. Jeśli potrzebujesz więcej niż 200 000 równoczesnych połączeń, przeczytaj artykuł Skalowanie z wieloma bazami danych.
Co się stanie, jeśli przekroczę limity miejsca na dane lub pobierania w Bazie danych czasu rzeczywistego w ramach abonamentu Spark?
Aby zapewnić przewidywalną cenę, zasoby dostępne w ramach abonamentów Spark są ograniczone. Oznacza to, że po przekroczeniu limitu w danym miesiącu aplikacja zostanie wyłączona, aby zapobiec dalszemu zużyciu zasobów i dodatkowym opłatom.
Co się stanie, jeśli przekroczę limity połączeń równoczesnych w ramach abonamentu Spark w Bazie danych czasu rzeczywistego?
Gdy Twoja aplikacja osiągnie limit równoczesności w abonamencie Spark, kolejne połączenia będą odrzucane, 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.
Jak działa integracja Firebase z Google Cloud?
Usługa Firebase jest ściśle zintegrowana z Google Cloud. Projekty są współdzielone przez Firebase i Google Cloud, więc można w nich włączyć usługi Firebase i Google Cloud. Możesz uzyskać dostęp do tego samego projektu w konsoli Firebase lub w Google Cloud. W szczególności:
- Niektóre usługi Firebase, takie jak Cloud Storage dla Firebase, są obsługiwane bezpośrednio przez Google Cloud. Lista usług obsługiwanych przez Google Cloud będzie się z czasem wydłużać.
- Wiele ustawień, w tym informacje o współpracownikach i informacje rozliczeniowe, jest współdzielonych przez Firebase i Google Cloud. Korzystanie z Firebase i Google Cloud jest uwzględnione na tym samym rachunku.
Dodatkowo po przejściu na abonament Blaze będziesz mieć możliwość korzystania z dowolnych światowej klasy infrastruktury jako usługi oraz interfejsów API Google Cloud bezpośrednio w projekcie Firebase w standardowych cenach Google Cloud. Możesz też eksportować dane z Google Cloud bezpośrednio do BigQuery na potrzeby analizy. Więcej informacji znajdziesz w artykule o łączeniu BigQuery z Firebase.
Korzystanie z Google Cloud z Firebase ma wiele korzyści, które poprawiają bezpieczeństwo, zmniejszają czas oczekiwania i pozwalają zaoszczędzić czas (w porównaniu do innych usług chmurowych, które nie znajdują się we współdzielonej lokalizacji). Więcej informacji znajdziesz na stronie Google Cloud.
Co się stanie z moim projektem Firebase, jeśli dodam lub usunę konta rozliczeniowe tego projektu w konsoli Google Cloud?
Jeśli w konsoli Google Cloud dodasz do projektu konto rozliczeniowe Cloud, ten sam projekt zostanie automatycznie przeniesiony do abonamentu Firebase Blaze (o ile jest on obecnie objęty abonamentem Spark).
Jeśli natomiast istniejące aktywne konto rozliczeniowe Cloud zostanie usunięte z projektu w konsoli Google Cloud, zostanie on zdegradowany do abonamentu Firebase Spark.
Czy w każdej chwili mogę przejść na wyższą lub niższą wersję usługi albo anulować subskrypcję?
Tak, w każdej chwili możesz przejść na wyższą lub niższą wersję usługi albo anulować abonament. Pamiętaj, że nie przyznajemy proporcjonalnego zwrotu środków w przypadku rezygnacji z subskrypcji lub anulowania subskrypcji. Oznacza to, że jeśli przejdziesz na niższą wersję lub anulujesz subskrypcję przed końcem okresu rozliczeniowego, zapłacisz za pozostałą część miesiąca.
Jakiego rodzaju pomoc otrzymam?
Wszystkie aplikacje Firebase, w tym te korzystające z abonamentów bezpłatnych, są objęte pomocą przez e-mail zespołu Firebase w godzinach pracy obowiązujących w Stanach Zjednoczonych. Wszystkie konta zapewniają nieograniczoną pomoc w zakresie problemów z płatnościami, problemów z kontem, problemów technicznych (rozwiązywania problemów) i raportów o incydentach.
Czy mogę ograniczyć wykorzystanie w abonamencie Blaze?
Nie, obecnie nie można ograniczyć wykorzystania abonamentu Blaze. Sprawdzamy możliwości obsługi limitów wykorzystania abonamentu Blaze.
Użytkownicy Blaze mogą określić budżet dla swojego projektu lub konta i otrzymywać alerty, gdy wydatki zbliżą się do tych limitów. Dowiedz się, jak skonfigurować alerty dotyczące budżetu.
Czym są automatyczne kopie zapasowe? Czy oferujecie kopie zapasowe co godzinę?
Automatyczne kopie zapasowe to zaawansowana funkcja dla klientów korzystających z abonamentu Blaze. Funkcja ta tworzy raz dziennie kopię zapasową danych Bazy danych czasu rzeczywistego Firebase i przesyła ją do Google Cloud Storage.
Nie oferujemy kopii zapasowych co godzinę.
Czy oferujecie rabaty na licencji open source, non-profit lub edukacyjne?
Z naszego abonamentu Spark mogą korzystać osoby fizyczne i organizacje, w tym organizacje non-profit, szkoły i projekty open source. Ponieważ abonamenty te obejmują już duże limity, nie oferujemy żadnych specjalnych rabatów ani abonamentów w przypadku projektów open source, non-profit czy edukacyjne.
Czy oferujecie umowy dla przedsiębiorstw, ceny, pomoc lub dedykowany hosting infrastruktury?
Nasz abonament Blaze jest odpowiedni dla firm każdej wielkości. Nasza gwarancja jakości usług spełnia lub przekracza standardy branżowe dotyczące infrastruktury w chmurze. Jednak obecnie nie oferujemy umów dla przedsiębiorstw, cen ani pomocy technicznej. Nie oferujemy też dedykowanego hostingu infrastruktury (tj. instalacji lokalnych) dla usług takich jak Baza danych czasu rzeczywistego. Pracujemy nad dodaniem niektórych z tych funkcji.
Czy oferujecie ceny doraźne? Chcę płacić według wykorzystania tylko za 1 lub 2 funkcje.
W ramach abonamentu Blaze oferujemy doraźne płatności tylko za funkcje, z których korzystasz.
Jak płatne abonamenty Firebase współdziałają z Google Ads? Czy w przypadku płatnych abonamentów dostępne są bezpłatne środki na reklamę?
Abonamenty Firebase są niezależne od usług Google Ads, dlatego nie masz żadnych środków na reklamę bez kosztów. Jako programista Firebase możesz połączyć swoje konto Google Ads z Firebase, aby zapewnić obsługę śledzenia konwersji.
Wszystkimi kampaniami reklamowymi zarządzasz bezpośrednio w Google Ads, a płatnościami za Google Ads zarządzasz w konsoli Google Ads.
Cennik Cloud Functions
Dlaczego do korzystania z Cloud Functions dla Firebase potrzebuję konta rozliczeniowego?
Cloud Functions dla Firebase korzysta z niektórych płatnych usług Google. Nowe wdrożenia funkcji z interfejsem wiersza poleceń Firebase w wersji 11.2.0 lub nowszej zależą od Cloud Build i Artifact Registry. Wdrożenia w starszych wersjach wykorzystują Cloud Build w ten sam sposób, ale do przechowywania danych wykorzystują Container Registry i Cloud Storage, a nie Artifact Registry. Korzystanie z tych usług będzie dodatkowo płatne.
Miejsce na dane w interfejsie wiersza poleceń Firebase 11.2.0 i nowszych
Artifact Registry udostępnia kontenery, w których działają funkcje. Artifact Registry zapewnia bezpłatne pierwsze 500 MB, więc pierwsze wdrożenia funkcji mogą nie wiązać się z opłatami. Powyżej tego progu za każdy dodatkowy gigabajt miejsca na dane pobierana jest opłata 0, 10 USD miesięcznie.
Miejsce na dane w interfejsie wiersza poleceń Firebase 11.1.x i w starszych wersjach
W przypadku funkcji wdrożonych w starszych wersjach kontenery, w których działają funkcje, zapewnia Container Registry. Opłaty będą naliczane za każdy kontener wymagany do wdrożenia funkcji. Za każdy przechowywany kontener mogą być naliczane niewielkie opłaty – np.opłata za 1 GB miejsca na dane 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
- Cennik Cloud Functions: obecny poziom bezpłatny nie ulegnie zmianie.
- Cennik Cloud Build: Cloud Build udostępnia w ramach poziomu bezpłatnego.
- Cennik Artifact Registry
- Cennik Container Registry.
Czy usługa Cloud Functions dla Firebase jest nadal dostępna bezpłatnie?
Tak. W abonamencie Blaze usługa Cloud Functions zapewnia bezpłatny poziom wywoływania, czasu obliczeniowego i ruchu internetowego. Pierwsze 2 000 000 wywołań, 400 000 GB-s, 200 000 sekund procesora i 5 GB ruchu wychodzącego z internetu jest udostępniane co miesiąc bezpłatnie. Opłaty będą naliczane tylko za wykorzystanie powyżej tych progów.
Po zużyciu pierwszych 500 MB bezpłatnego miejsca na dane każda operacja wdrożenia wiąże się z niewielką opłatą za miejsce na dane wykorzystywane w kontenerze funkcji. Jeśli proces programowania wymaga wdrażania funkcji do testowania, możesz znacznie ograniczyć koszty, korzystając podczas programowania z Pakietu emulatorów lokalnych Firebase.
Zobacz cennik usługi Firebase i cennik Cloud Functions oraz przykładowe scenariusze.
Czy Firebase planuje zwiększyć limity dla Cloud Functions dla Firebase?
Nie. Nie ma żadnych planów zmiany limitów z wyjątkiem usunięcia maksymalnego czasu kompilacji. Zamiast otrzymywać błędy lub ostrzeżenia po osiągnięciu dziennego limitu 120 minut, opłaty będą naliczane zgodnie z warunkami abonamentu Blaze. Zobacz Limity.
Czy mogę otrzymać środki w Google Cloud w wysokości 300 USD?
Tak. Możesz utworzyć konto rozliczeniowe Cloud w konsoli Google Cloud, aby otrzymać 300 USD, a następnie połączyć to konto rozliczeniowe Cloud z projektem Firebase.
Więcej informacji o środkach na Google Cloud znajdziesz tutaj.
Pamiętaj, że jeśli to zrobisz, musisz skonfigurować abonament Blaze w konsoli Firebase, aby projekt nadal działał po wyczerpaniu kwoty promocyjnej.
Chcę wykonać ćwiczenia z programowania, aby dowiedzieć się więcej o Firebase. Czy możesz podać mi tymczasowe konto rozliczeniowe?
Nie, przepraszam. Możesz używać emulatora Firebase do programowania bez konta rozliczeniowego Cloud. Możesz też poprosić o bezpłatny okres próbny Google Cloud. Jeśli z powodu tej zmiany nadal masz problemy z płatnością, skontaktuj się z zespołem pomocy Firebase.
Obawiam się, że naliczymy duży rachunek.
W konsoli Google Cloud możesz skonfigurować alerty dotyczące budżetu, aby lepiej kontrolować koszty. Możesz też ustawić limity liczby płatnych instancji utworzonych dla każdej funkcji. Koszty typowych scenariuszy znajdziesz w przykładach Cennika Cloud Functions.
Jak mogę sprawdzić bieżące opłaty?
Wyświetl panel Wykorzystanie i płatności w konsoli Firebase.
Korzystam z Rozszerzeń w Firebase. Czy potrzebuję konta rozliczeniowego?
Tak. Rozszerzenia korzystają z Cloud Functions, dlatego podlegają takim samym opłatom co inne funkcje.
Aby korzystać z rozszerzeń, musisz przejść na abonament Blaze. Będziemy naliczać niewielką opłatę (zwykle około 0,01 USD miesięcznie za zasoby Firebase wymagane przez każde zainstalowane rozszerzenie (nawet wtedy, gdy nie są używane)) oraz opłaty związane z korzystaniem z usług Firebase.
Cennik Cloud Storage dla Firebase
Jak mogę przewidzieć, jakie będą naliczane opłaty za operacje przesyłania i pobierania?
Wejdź na stronę cennika Firebase i skorzystaj z kalkulatora abonamentów Blaze. Kalkulator wyświetla wszystkie typy wykorzystania Cloud Storage dla Firebase.
Za pomocą suwaków wpisz oczekiwane wykorzystanie zasobnika na dane. Kalkulator oszacuje miesięczny rachunek.
Co się stanie, jeśli przekroczę limity przesyłania, pobierania lub miejsca w ramach abonamentu Spark w Cloud Storage dla Firebase?
Jeśli przekroczysz limity Cloud Storage w projekcie korzystającym z abonamentu Spark, wynik zależy od typu limitu, który został przekroczony:
- Jeśli przekroczysz limit przechowywanych danych, utracisz możliwość przechowywania dodatkowych danych w projekcie, chyba że usuniesz część zapisanych danych lub przejdziesz na abonament, który zapewnia więcej miejsca lub nieograniczone miejsce na dane.
- Jeśli przekroczysz limit pobranych GB, aplikacja nie będzie mogła pobierać dodatkowych danych aż do następnego dnia (od północy czasu pacyficznego w Stanach Zjednoczonych), chyba że przejdziesz na abonament z mniej restrykcyjnymi limitami lub bez limitów.
- Jeśli przekroczysz limit operacji przesyłania i pobierania, aplikacja nie będzie mogła przesyłać ani pobierać kolejnych danych aż do następnego dnia (od północy czasu pacyficznego w Stanach Zjednoczonych), chyba że przejdziesz na abonament z mniej restrykcyjnymi limitami lub bez limitów.
Prywatność
Gdzie znajdę informacje na temat prywatności i bezpieczeństwa w Firebase?
Odwiedź stronę Prywatność i bezpieczeństwo w Firebase.
Czy pakiety SDK Firebase rejestrują informacje o użytkowaniu i diagnostyczne poza Analytics?
Tak. Obecnie jest ona dostępna tylko na urządzeniach z iOS, ale w przyszłości może się to zmienić. Pakiet SDK platformy Firebase dla platform Apple domyślnie zawiera platformę FirebaseCoreDiagnostics
. Ta platforma jest używana przez Firebase do zbierania informacji o użytkowaniu i diagnostycznych pakietu SDK. Pomaga to w ustalaniu priorytetów przyszłych ulepszeń usług. Funkcja FirebaseCoreDiagnostics
jest opcjonalna, więc jeśli chcesz zrezygnować z wysyłania dzienników diagnostycznych Firebase, możesz odłączyć bibliotekę od aplikacji. Możesz przeglądać pełne źródło, w tym zalogowane wartości, w GitHubie
Testy A/B
Testy A/B: ile eksperymentów mogę utworzyć i przeprowadzić?
Możesz mieć maksymalnie 300 eksperymentów na projekt, z których może się składać maksymalnie 24 eksperymenty – pozostałe eksperymenty mogą być wersją roboczą lub zakończoną.
Testy A/B: dlaczego po odłączeniu i ponownym połączeniu projektu z Google Analytics nie mogę wyświetlić eksperymentów?
Połączenie z inną usługą w Google Analytics spowoduje utratę dostępu do utworzonych wcześniej eksperymentów. Aby odzyskać dostęp do poprzedniego eksperymentu, połącz ponownie projekt z usługą w Google Analytics, która została połączona podczas tworzenia eksperymentu.
Testy A/B: dlaczego podczas tworzenia eksperymentu Zdalnej konfiguracji widzę komunikat „Projekt nie jest połączony z Google Analytics”?
Jeśli masz już połączone konta Firebase i Google Analytics, ale nadal widzisz komunikat, że usługa Google Analytics nie jest połączona, sprawdź, czy strumień Analytics istnieje dla wszystkich aplikacji w projekcie. Obecnie, aby korzystać z Testów A/B, wszystkie aplikacje w projekcie muszą być połączone ze strumieniem Google Analytics.
Listę wszystkich aktywnych strumieni znajdziesz na stronie Szczegóły integracji Google Analytics w konsoli Firebase, która jest dostępna w sekcji settingsUstawienia projektu chevron_right Integracje chevron_right Google Analytics chevron_right Zarządzaj.
Utworzenie strumienia Google Analytics dla dowolnej aplikacji, która go nie ma, powinno rozwiązać ten problem. Strumienie brakujących aplikacji można utworzyć na kilka sposobów:
-
Jeśli masz tylko 1 lub 2 aplikacje, w których brakuje powiązanego strumienia Google Analytics, możesz dodać strumień Google Analytics za pomocą jednej z tych metod:
- Usuń i ponownie dodaj dowolną aplikację bez aktywnego strumienia w konsoli Firebase.
- W konsoli Google Analytics wybierz Administracja, kliknij Strumienie danych, a następnie Dodaj strumień, dodaj szczegóły brakującej aplikacji i kliknij Zarejestruj aplikację.
-
Jeśli brakuje Ci więcej niż kilku strumieni z aplikacji, odłączenie i ponowne połączenie usługi w Google Analytics jest najszybszym i najskuteczniejszym sposobem utworzenia brakujących strumieni aplikacji:
- W sekcji settings Ustawienia projektu wybierz Integracje.
- Na karcie Google Analytics kliknij Zarządzaj, aby uzyskać dostęp do ustawień Firebase i Google Analytics.
- Zanotuj identyfikator usługi Google Analytics i połączone konto Google Analytics.
- Kliknij more_vert Więcej i wybierz Odłącz Analytics od tego projektu.
-
Przeczytaj wyświetlone ostrzeżenie (bez obaw – w następnym kroku ponownie połączysz tę usługę), a następnie kliknij Odłącz Google Analytics.
Po odłączeniu nastąpi przekierowanie na stronę Integrations (Integracje). - Na karcie Google Analytics kliknij Włącz, aby rozpocząć proces ponownego łączenia.
- Wybierz konto Analytics z listy Wybierz konto.
-
Obok opcji Automatycznie utwórz nową usługę na tym koncie kliknij edit Edytuj i na wyświetlonej liście Usługa w Analytics wybierz identyfikator usługi.
Pojawi się lista wszystkich aplikacji w projekcie. Zostaną wyświetlone obecne mapowania strumieni dla każdej aplikacji. Dla aplikacji bez strumienia zostanie utworzone własne mapowanie. - Aby ponownie połączyć usługę, kliknij Włącz Google Analytics.
- Kliknij Zakończ.
Jeśli po wykonaniu tych czynności nadal pojawia się błąd podczas tworzenia testów A/B z użyciem Zdalnej konfiguracji, skontaktuj się z zespołem pomocy Firebase.
AdMob
AdMob: czy mogę połączyć aplikacje dla systemu Windows z Firebase?
Nie, aplikacje Windows nie są obecnie obsługiwane.
AdMob: dlaczego nie mogę połączyć mojej aplikacji z AdMob z poziomu konsoli Firebase?
Aplikację AdMob możesz połączyć z aplikacją Firebase za pomocą konsoli AdMob. Więcej informacji
AdMob: jakie uprawnienia i dostęp muszę mieć, by połączyć aplikację Firebase z aplikacją AdMob?
Aby to zrobić, musisz mieć te uprawnienia dostępu:
- AdMob: musisz być administratorem AdMob.
- Firebase: musisz mieć uprawnienie
firebase.links.create
, które jest dostępne w przypadku roli Właściciel lub Administrator Firebase. - Google Analytics: musisz mieć rolę Edytuj lub Zarządzaj użytkownikami w usłudze powiązanej z projektem Firebase. Więcej informacji
AdMob: czy wielu użytkowników tego samego konta AdMob może połączyć aplikacje AdMob z aplikacjami Firebase?
W przypadku kont AdMob, które mają wielu użytkowników, użytkownik, który utworzył pierwsze połączenie z Firebase i zaakceptował Warunki korzystania z usługi Firebase, jest jedynym, który może tworzyć nowe połączenia między aplikacjami AdMob i aplikacjami Firebase.
AdMob: których pakietów SDK mam użyć, aby korzystać z AdMob?
Aby korzystać z AdMob, zawsze używaj pakietu SDK do reklam mobilnych Google w sposób opisany w tych najczęstszych pytaniach. Jeśli chcesz gromadzić dane o użytkownikach w AdMob, dodaj do aplikacji pakiet SDK Firebase dla Google Analytics.
- Projekty na iOS:
Zaimportuj pakiet SDK do reklam mobilnych Google, postępując zgodnie z instrukcjami w dokumentacji AdMob na iOS. - W przypadku projektów na Androida:
Dodaj do plikubuild.gradle
zależność z pakietem SDK do reklam mobilnych Google:
implementation 'com.google.android.gms:play-services-ads:23.0.0'
- W przypadku projektów C++ i projektów Unity: postępuj zgodnie z instrukcjami podanymi w odpowiedniej dokumentacji.
Analityka
Analytics: dlaczego zalecamy korzystanie z Google Analytics przy korzystaniu z usług Firebase?
Google Analytics to bezpłatne, nieograniczone narzędzie analityczne, które współdziała z funkcjami Firebase i zapewnia zaawansowane statystyki. Umożliwia wyświetlanie dzienników zdarzeń w Crashlytics, skuteczności powiadomień w FCM, skuteczności precyzyjnych linków w linkach dynamicznych oraz danych o zakupach w aplikacji z Google Play. Obsługuje zaawansowane kierowanie na odbiorców w Zdalnej konfiguracji, personalizacji Zdalnej konfiguracji i innych usługach.
Google Analytics działa jako warstwa analizy w konsoli Firebase, dostarczając bardziej przydatnych statystyk na temat tego, jak stworzyć wysokiej jakości aplikację, zwiększyć liczbę użytkowników i zarabiać więcej.
Na początek przeczytaj dokumentację.
Analytics: jak kontrolować sposób udostępniania moich danych Analytics pozostałym usługom Firebase?
Domyślnie dane Google Analytics są używane do ulepszania innych funkcji Firebase i Google. W ustawieniach projektu możesz w każdej chwili kontrolować sposób udostępniania danych Google Analytics. Dowiedz się więcej o ustawieniach udostępniania danych.
Analytics: jak zmienić ustawienia usługi w Analytics?
Na stronie Administracja w usłudze w Google Analytics możesz aktualizować ustawienia usługi, m.in.:
- Ustawienia udostępniania danych
- ustawienia przechowywania danych,
- ustawienia strefy czasowej i waluty.
Aby zaktualizować ustawienia usługi:
- W konsoli Firebase wybierz kolejno settings > Ustawienia projektu.
- Otwórz kartę Integracje, a następnie na karcie Google Analytics kliknij Zarządzaj lub Wyświetl link.
- Kliknij link do konta Google Analytics, aby otworzyć ustawienia konta i usługi.
Analytics w mojej aplikacji na iOS: czy mogę zainstalować Analytics bez funkcji określania udziału w reklamach i zbierania identyfikatorów IDFA?
Tak. Więcej informacji znajdziesz na stronie Konfigurowanie zbierania i wykorzystywania danych.
Analytics: co zmieniło się w sekcji Google Analytics po aktualizacji z października 2021 roku?
Podsumowanie tych zmian znajdziesz w artykule Nowe funkcje Google Analytics 4 w Google Analytics dla Firebase w Centrum pomocy Firebase.
Analytics: dlaczego po odłączeniu Firebase od Google Analytics nie widzę żadnych danych Analytics w konsoli Firebase?
Dane Analytics znajdują się w usłudze w Google Analytics, a nie w projekcie Firebase. Jeśli usuniesz lub odłączysz usługę, dane Analytics nie będą dostępne dla Firebase, a w konsoli Firebase zobaczysz pusty panel Analytics. Dane nadal znajdują się we wcześniej połączonej usłudze, więc możesz w każdej chwili ponownie połączyć tę usługę z Firebase i wyświetlić dane Analytics w konsoli Firebase.
Połączenie zupełnie nowego konta Google Analytics (a tym samym nowej usługi Google Analytics) z projektem Firebase spowoduje, że w konsoli Firebase panel Analytics będzie pusty. Jeśli jednak wcześniej połączona usługa nadal istnieje, możesz przenieść istniejące dane ze starej usługi do nowej.
Analytics: czy jeśli moja usługa w Analytics i związane z nią dane zostały usunięte, czy mogę je odzyskać?
Nie. Jeśli usługa została usunięta, nie możesz jej przywrócić ani odzyskać zebranych wcześniej danych Analytics.
Jeśli chcesz ponownie zacząć korzystać z Google Analytics, możesz połączyć z projektem Firebase nową lub dotychczasową usługę. Możesz to zrobić w konsoli Firebase lub w interfejsie użytkownika Google Analytics. Dowiedz się więcej o łączeniu usługi w Google Analytics z projektem Firebase.
Analytics: czy moja usługa w Analytics została usunięta, czy mogę połączyć nową usługę w Google Analytics z projektem Firebase i ponownie zacząć korzystać z Analytics?
Jeśli chcesz ponownie zacząć korzystać z Google Analytics, możesz połączyć z projektem Firebase nową lub dotychczasową usługę. Możesz to zrobić w konsoli Firebase lub w interfejsie użytkownika Google Analytics. Dowiedz się więcej o łączeniu usługi w Google Analytics z projektem Firebase.
Pamiętaj, że wszystkie dane Analytics są przechowywane w usłudze (a nie w projekcie Firebase), więc nie można pobrać wcześniej zebranych danych Analytics.
Analytics: jak usunięcie mojej usługi Analytics wpłynie na usługi Firebase lub zintegrowane usługi Google?
Kilka usług Firebase opiera się na integracji z Google Analytics. Jeśli Twoja usługa w Analytics i związane z nią dane zostaną usunięte, to w przypadku korzystania z tych usług:
- Crashlytics – nie możesz już wyświetlać użytkowników bez awarii, logów menu nawigacyjnego ani alertów o rosnącej liczbie problemów.
- Komunikacja w chmurze i wysyłanie wiadomości w aplikacji – nie możesz już używać kierowania, wskaźników kampanii, podziału odbiorców na segmenty ani etykiet analitycznych.
- Zdalna konfiguracja – nie możesz już korzystać z kierowanych konfiguracji ani personalizacji.
- Testy A/B – nie możesz już korzystać z testów A/B, ponieważ pomiary są obsługiwane przez Google Analytics.
- Linki dynamiczne – zakłócają działanie wszystkich funkcji, które wykorzystują dane z Google Analytics.
Dodatkowo wpłynie to na te integracje:
- Nie możesz już eksportować danych Analytics do BigQuery.
- Nie możesz już korzystać z integracji z Google Ads ani z integracji z Google AdMob.
Analytics: Jak podzielić użytkowników, którzy nie spełnili pewnych kryteriów?
Aby rozwiązać ten problem, można zastosować „wykluczające kierowanie” na tych użytkowników. Możesz np. zmienić sformułowanie problemu na „Nie wyświetlaj reklam osobom, które coś kupiły”, i utworzyć z nich odbiorców, na których będzie można kierować reklamy.
Analytics: czy odbiorcy lub zdarzenia zdefiniowane w interfejsie Google Analytics są też dostępne w konsoli Firebase?
Twoje listy odbiorców i właściwości użytkownika zostaną zsynchronizowane. W przypadku niektórych funkcji musisz korzystać z interfejsu Google Analytics, np. segmentacji czy zamknięte ścieżki. Dostęp do interfejsu Google Analytics możesz uzyskać bezpośrednio dzięki precyzyjnym linkom w konsoli Firebase.
Wszystkie zmiany wprowadzone w konsoli Firebase można też wprowadzać w Google Analytics, co będzie odzwierciedlane w Firebase.
Uwierzytelnianie
Uwierzytelnianie Firebase: w których krajach uwierzytelnianie przez telefon jest obsługiwane?
Uwierzytelnianie Firebase obsługuje weryfikację numeru telefonu na całym świecie, ale nie wszystkie sieci prawidłowo dostarczają nasze wiadomości weryfikacyjne. Wymienione poniżej kraje mają dobre stawki dostawy i powinny dobrze działać w przypadku logowania się za pomocą numeru telefonu.
Kraj | Kod |
---|---|
n.e. | Andora |
AE | Zjednoczone Emiraty Arabskie |
AF | Afganistan |
GR | Antigua i Barbuda |
Alabama | Albania |
(przed południem) | Armenia |
AO | Angola |
AR | Argentyna |
AS | Samoa Amerykańskie |
O | Austria |
AU | Australia |
AW | Aruba |
Arizona | Azerbejdżan |
łaź. | Bośnia i Hercegowina |
BB | Barbados |
BD | Bangladesz |
BE | Belgia |
BF | Burkina Faso |
BG | Bułgaria |
BJ | Benin |
PZ | Bermudy |
mld | Brunei |
BO | Boliwia |
BR | Brazylia |
BS | Bahamy |
BT | Bhutan |
Czarno-białe | Botswana |
WEDŁUG | Białoruś |
BZ | Belize |
Urząd certyfikacji | Kanada |
CD | Kongo (Kinszasa) |
CF | Republika Środkowoafrykańska |
CG | Kongo (Brazzaville) |
CH | Szwajcaria |
CI | Wybrzeże Kości Słoniowej |
KC | Wyspy Cooka |
Lista zmian | Chile |
CM | Kamerun |
CO | Kolumbia |
CR | Kostaryka |
kod CV | Republika Zielonego Przylądka |
CW | Curaçao |
Cyrkulacja | Cypr |
CZ | Czechy |
DE | Niemcy |
DJ | Dżibuti |
DK | Dania |
czat | Dominika |
TAK | Dominikana |
DZ | Algieria |
EC | Ekwador |
WG | Egipt |
ES | Hiszpania |
DO | Etiopia |
FI | Finlandia |
RW | Fidżi |
KO | Falklandy (Malwiny) |
FM | Mikronezja |
K | Wyspy Owcze |
FR | Francja |
OD | Gabon |
GB | Wielka Brytania |
RB | Grenada |
GE | Gruzja |
BZ | Gujana Francuska |
GG | Guernsey |
GH | Ghana |
GI | Gibraltar |
GGL | Grenlandia |
GM | Gambia |
RM | Gwadelupa |
GQ | Gwinea Równikowa |
WG | Grecja |
GT | Gwatemala |
GY | Gujana |
HK | Hongkong, Specjalny Region Administracyjny (Chiny) |
Hongkong | Honduras |
HR | Chorwacja |
PR | Haiti |
jednostka główna | Węgry |
Identyfikator | Indonezja |
IE | Irlandia |
IL | Izrael |
IM | Wyspa Man |
IN | Indie |
IQ | Irak |
IT | Włochy |
JE | Jersey |
JM | Jamajka |
JO | Jordania |
JP | Japonia |
KE | Kenia |
Graf wiedzy | Kirgistan |
KH | Kambodża |
km | Komory |
KN | Saint Kitts i Nevis |
KR | Korea Południowa |
Sł. klucz. | Kuwejt |
Kentucky | Kajmany |
KZ | Kazachstan |
Luizjana | Laotańska Republika Ludowo-Demokratyczna |
LB | Liban |
LC | Saint Lucia |
element zamówienia | Liechtenstein |
LK | Sri Lanka |
Przekłady | Lesotho |
LT | Litwa |
LU | Luksemburg |
LV | Łotwa |
L | Libia |
MA | Maroko |
Medycyna | Mołdawia |
Bliski Wschód | Czarnogóra |
P | Saint-Martin (część francuska) |
MG | Madagaskar |
KM | Macedonia |
MM | Mjanma |
MN | Mongolia |
Mi | Makao, Specjalny Region Administracyjny (Chiny) |
SM | Montserrat |
MT | Malta |
MU | Mauritius |
MW | Malawi |
MX | Meksyk |
MY | Malezja |
MZ | Mozambik |
Nie dotyczy | Namibia |
Karolina Północna | Nowa Kaledonia |
płn.-wsch. | Niger |
NF | Norfolk |
NG | Nigeria |
Numer NI | Nikaragua |
NL | Holandia |
NO | Norwegia |
NNP | Nepal |
NZ | Nowa Zelandia |
OM | Oman |
PS | Panama |
PE | Peru |
R | Papua-Nowa Gwinea |
PH | Filipiny |
KP | Pakistan |
PL | Polska |
(po południu) | Saint-Pierre i Miquelon |
WP | Portoryko |
PS | Terytorium Palestyńskie |
PT | Portugalia |
PY | Paragwaj |
Kontrola jakości | Katar |
OD | Reunion |
RO | Rumunia |
RS | Serbia |
RU | Rosja |
Płd.-zach. | Rwanda |
STRZ | Arabia Saudyjska |
SC | Seszele |
SE | Szwecja |
RO | Singapur |
Rzuty karne | Wyspa Świętej Heleny |
SI | Słowenia |
SK | Słowacja |
SL | Sierra Leone |
Nr seryjny | Senegal |
SS | Surinam |
ST | Wyspy Świętego Tomasza i Książęca |
OBR | Salwador |
SZ | Eswatini |
TC | Turks i Caicos |
gwarancja | Togo |
TH | Tajlandia |
kierownik zespołu | Timor Wschodni |
TM | Turkmenistan |
Str | Tonga |
TR | Turcja |
TT | Trynidad i Tobago |
TW | Tajwan, Chiny |
TZ | Tanzania |
UA | Ukraina |
UG | Uganda |
Stany Zjednoczone | Stany Zjednoczone |
UY | Urugwaj |
UZ | Uzbekistan |
VC | Saint Vincent i Grenadyny |
WE | Wenezuela |
VG | Brytyjskie Wyspy Dziewicze |
WI | Wyspy Dziewicze Stanów Zjednoczonych |
VN | Wietnam |
ZD | Samoa |
TAK | Jemen |
YouTube | Majotta |
Republika Południowej Afryki | Republika Południowej Afryki |
ZM | Zambia |
ZW. | Zimbabwe |
Uwierzytelnianie Firebase: jak zapobiegać nadużywaniu SMS-ów podczas uwierzytelniania telefonu?
Aby chronić swój projekt przed sztuczną intensywnością SMS-ów i nadużywaniem interfejsów API, wykonaj te czynności:
Rozważ skonfigurowanie zasad regionalnych dotyczących SMS-ów
Sprawdź wykorzystanie SMS-ów w poszczególnych regionach.
Poszukaj regionów z bardzo dużą liczbą wysłanych SMS-ów oraz bardzo małą liczbą zweryfikowanych SMS-ów (lub zerową liczbą zweryfikowanych SMS-ów). Stosunek liczby zweryfikowanych do wysłanych to Twój wskaźnik sukcesu. Wskaźniki sukcesu w zdrowym zakresie mieszczą się zwykle w przedziale 70–85%, ponieważ SMS-y nie są gwarantowanym protokołem dostarczania, a w niektórych regionach mogą występować nadużycia. Wskaźniki poniżej 50% oznaczają, że wiele SMS-ów zostało wysłanych, ale mało udanych prób logowania, co często wskazuje na nieuczciwe działania i sztuczne zawyżanie ruchu SMS-ów.
Użyj zasad regionalnych dotyczących SMS-ów, aby odrzucić SMS-y w regionach o niskim wskaźniku sukcesu lub dopuścić je tylko w wybranych regionach, jeśli aplikacja jest przeznaczona tylko do rozpowszechniania na określonych rynkach.
Ogranicz autoryzowane domeny uwierzytelniania
Użyj panelu ustawień uwierzytelniania, aby zarządzać autoryzowanymi domenami. Domena localhost
jest domyślnie dodawana do zatwierdzonych domen uwierzytelniania, aby uprościć programowanie. Rozważ usunięcie domeny localhost
z autoryzowanych domen w projekcie produkcyjnym, aby uniemożliwić nieuczciwym podmiotom uruchamianie kodu na ich serwerach localhost
w celu uzyskania dostępu do Twojego projektu produkcyjnego.
Włączanie i wymuszanie Sprawdzania aplikacji
Włącz Sprawdzanie aplikacji, aby chronić projekt przed nadużywaniem interfejsów API, zaświadczając, że żądania pochodzą wyłącznie z aplikacji powiązanych z Twoim projektem.
Aby korzystać ze Sprawdzania aplikacji razem z Uwierzytelnianiem Firebase, musisz przejść na Uwierzytelnianie Firebase z Identity Platform.
Pamiętaj, że w konsoli Firebase musisz wymusić uwierzytelnianie aplikacji (zastanów się nad monitorowaniem ruchu, zanim to zrobisz). Sprawdź też listę zatwierdzonych witryn reCAPTCHA Enterprise, aby upewnić się, że zawiera ona tylko witryny produkcyjne oraz że lista aplikacji zarejestrowanych w Twoim projekcie w ramach Sprawdzania aplikacji jest prawidłowa.
Pamiętaj, że Sprawdzanie aplikacji pomaga chronić się przed automatycznymi atakami, ponieważ twierdzi, że wywołanie pochodzi z jednej z zarejestrowanych aplikacji. Nie uniemożliwia użytkownikom korzystania z Twojej aplikacji w niezamierzony sposób (np. nie dokończenie procesu logowania się w celu wygenerowania wysłanego SMS-a).
Uwierzytelnianie Firebase: dlaczego w mojej aplikacji na Androida pojawia się ten błąd:
Google sign in failed
?
Google sign in failed
Jeśli pojawi się ten błąd, wykonaj czynności opisane w tym najczęstszym pytaniach:
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)
Sprawdź, czy logowanie w Google jest prawidłowo włączone jako dostawca uwierzytelniania:
W konsoli Firebase otwórz sekcję Uwierzytelnianie.
Na karcie Metoda logowania wyłącz, a następnie włącz ponownie metodę logowania Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google, wyłącz ją i kliknij Zapisz.
Ponownie otwórz metodę logowania Google, włącz ją i kliknij Zapisz.
Sprawdź, czy aplikacja używa aktualnego pliku konfiguracji Firebase (
google-services.json
).
Uzyskaj plik konfiguracyjny aplikacji.Sprawdź, czy błąd nadal występuje. Jeśli tak, przejdź do następnego kroku rozwiązywania problemów.
Sprawdź, czy istnieją wymagane klienty OAuth 2.0.
Na stronie Dane logowania w konsoli Google Cloud odszukaj sekcję Identyfikatory klienta OAuth 2.0.
Jeśli nie ma klienta OAuth 2.0 (a wszystkie powyższe kroki rozwiązywania problemów zostały wykonane), skontaktuj się z zespołem pomocy.
Uwierzytelnianie Firebase: dlaczego w mojej aplikacji na platformie Apple pojawia się ten błąd:
You must specify <clientID> in <GIDConfiguration>
?
You must specify <clientID> in <GIDConfiguration>
Jeśli pojawi się ten błąd, wykonaj czynności opisane w tym najczęstszym pytaniach:
You must specify |clientID| in |GIDConfiguration|
Sprawdź, czy logowanie w Google jest prawidłowo włączone jako dostawca uwierzytelniania:
W konsoli Firebase otwórz sekcję Uwierzytelnianie.
Na karcie Metoda logowania wyłącz, a następnie włącz ponownie metodę logowania Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google, wyłącz ją i kliknij Zapisz.
Ponownie otwórz metodę logowania Google, włącz ją i kliknij Zapisz.
Sprawdź, czy aplikacja używa aktualnego pliku konfiguracji Firebase (
GoogleService-Info.plist
).
Uzyskaj plik konfiguracyjny aplikacji.Sprawdź, czy błąd nadal występuje. Jeśli tak, przejdź do następnego kroku rozwiązywania problemów.
Sprawdź, czy istnieją wymagane klienty OAuth 2.0.
Na stronie Dane logowania w konsoli Google Cloud odszukaj sekcję Identyfikatory klienta OAuth 2.0.
Jeśli nie ma klienta OAuth 2.0 (a wszystkie powyższe kroki rozwiązywania problemów zostały wykonane), skontaktuj się z zespołem pomocy.
Uwierzytelnianie Firebase: dlaczego w mojej aplikacji internetowej pojawia się ten błąd:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
?
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Jeśli pojawi się ten błąd, wykonaj czynności opisane w tym najczęstszym pytaniach:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Sprawdź, czy logowanie w Google jest prawidłowo włączone jako dostawca uwierzytelniania:
W konsoli Firebase otwórz sekcję Uwierzytelnianie.
Na karcie Metoda logowania wyłącz, a następnie włącz ponownie metodę logowania Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google, wyłącz ją i kliknij Zapisz.
Ponownie otwórz metodę logowania Google, włącz ją i kliknij Zapisz.
Dodatkowo w konfiguracji dostawcy logowania Google w sekcji Uwierzytelnianie upewnij się, że identyfikator klienta OAuth i tajny klucz są zgodne z klientem internetowym wyświetlanym na stronie Dane logowania w konsoli Google Cloud (patrz sekcja Identyfikatory klienta OAuth 2.0).
Uwierzytelnianie Firebase: dlaczego logowanie się z przekierowaniami w mojej aplikacji internetowej kończy się niepowodzeniem i wyświetla się ten błąd:
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
?
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
Jeśli pojawi się ten błąd, wykonaj czynności opisane w tym najczęstszym pytaniach:
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
Ten błąd jest najprawdopodobniej spowodowany tym, że domena przekierowania nie jest wymieniona jako autoryzowana domena do uwierzytelniania Firebase lub klucz interfejsu API, którego używasz w usłudze uwierzytelniania Firebase, jest nieprawidłowy.
Najpierw sprawdź, czy YOUR_REDIRECT_DOMAIN znajduje się na liście autoryzowanych domen projektu Firebase. Jeśli domena przekierowania jest już na liście, kontynuuj rozwiązywanie problemów z nieprawidłowym kluczem interfejsu API.
Domyślnie pakiet SDK uwierzytelniania Firebase do uwierzytelniania Firebase korzysta z klucza interfejsu API projektu Firebase oznaczonego jako Browser key
i używa go do sprawdzania, czy adres URL przekierowania logowania jest prawidłowy zgodnie z listą autoryzowanych domen.
Uwierzytelnianie otrzymuje ten klucz interfejsu API w zależności od tego, jak uzyskujesz dostęp do pakietu SDK uwierzytelniania:
Jeśli korzystasz z pomocy uwierzytelniania udostępnianych przez hosting do logowania użytkowników za pomocą pakietu SDK uwierzytelniania do uwierzytelniania, Firebase automatycznie uzyska klucz interfejsu API wraz z pozostałymi elementami konfiguracji Firebase za każdym razem, gdy wdrażasz coś w Hostingu Firebase. Sprawdź, czy pole
authDomain
w aplikacji internetowejfirebaseConfig
jest prawidłowo skonfigurowane na potrzeby korzystania z jednej z domen tej witryny Hostingu. Możesz to sprawdzić, przechodząc na stronęhttps://authDomain__/firebase/init.json
i sprawdzając, czy wartość w poluprojectId
jest zgodna z wartością na Twoim konciefirebaseConfig
.Jeśli hostujesz kod logowania samodzielnie, możesz użyć pliku
__/firebase/init.json
, aby udostępnić konfigurację Firebase dla własnej funkcji pomocniczej Authentication JS SDK Redirect. Klucz interfejsu API iprojectId
wymienione w tym pliku konfiguracyjnym powinny być zgodne z aplikacją internetowąfirebaseConfig
.
Sprawdź, czy ten klucz interfejsu API nie został usunięty: otwórz panel Interfejsy API i usługi > Dane logowania w konsoli Google Cloud, gdzie są wymienione wszystkie klucze interfejsu API projektu.
Jeśli
Browser key
nie został usunięty, sprawdź te kwestie:Sprawdź, czy interfejs Firebase Authentication API znajduje się na liście interfejsów API, do których ten klucz może uzyskać dostęp (więcej informacji o ograniczeniach interfejsów API dotyczących kluczy interfejsu API).
Jeśli samodzielnie hostujesz kod logowania, upewnij się, że klucz interfejsu API wymieniony w pliku
__/firebase/init.json
jest zgodny z kluczem interfejsu API w konsoli Cloud. W razie potrzeby skoryguj klucz w pliku, a następnie ponownie wdróż aplikację.Jeśli
Browser key
został usunięty, możesz poprosić Firebase o wygenerowanie nowego klucza interfejsu API: w konsoli Firebase kliknij settings > Ustawienia projektu, a potem w sekcji Twoje aplikacje kliknij swoją aplikację internetową. To działanie automatycznie utworzy klucz interfejsu API, który będzie widoczny w sekcji Konfiguracja i konfiguracja pakietu SDK aplikacji internetowej.
Zwróć uwagę, że w konsoli Cloud nowy klucz interfejsu API nie będzie nosił nazwy
Browser key
. Zamiast tego będzie miał taką samą nazwę jak nazwa Twojej aplikacji internetowej Firebase. Jeśli zdecydujesz się dodać ograniczenia interfejsu API do nowego klucza interfejsu API, upewnij się, że interfejs Firebase Authentication API znajduje się na liście dozwolonych interfejsów API.Po utworzeniu nowego klucza interfejsu API wykonaj odpowiednie czynności opisane poniżej:
Jeśli używasz zarezerwowanych adresów URL Hostingu, wdróż aplikację ponownie w Firebase, aby automatycznie uzyskiwać nowy klucz interfejsu API razem z resztą konfiguracji Firebase.
Jeśli hostujesz kod logowania samodzielnie, skopiuj nowy klucz interfejsu API i dodaj go do pliku
__/firebase/init.json
, a następnie ponownie wdróż aplikację.
Uwierzytelnianie Firebase: jak ręcznie utworzyć klienta internetowego OAuth?
Otwórz stronę Dane logowania w konsoli Google Cloud.
U góry strony wybierz Utwórz dane logowania > Identyfikator klienta OAuth.
Jeśli pojawi się prośba o skonfigurowanie ekranu zgody, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, a potem wykonaj podane niżej czynności.
Utwórz klienta usługi internetowej OAuth:
Jako Typ aplikacji wybierz Aplikacja internetowa.
W polu Authorized JavaScript Origins (Autoryzowane źródła JavaScript) dodaj:
http://localhost
http://localhost:5000
https://PROJECT_ID.firebaseapp.com
https://PROJECT_ID.web.app
W polu Autoryzowane identyfikatory URI przekierowania dodaj:
https://PROJECT_ID.firebaseapp.com/__/auth/handler
https://PROJECT_ID.web.app/__/auth/handler
Zapisz klienta OAuth.
Skopiuj nowy identyfikator klienta OAuth i tajny klucz klienta do schowka.
W konsoli Firebase otwórz sekcję Uwierzytelnianie.
Na karcie Metoda logowania otwórz dostawcę Logowanie przez Google, a następnie wklej identyfikator klienta i tajny klucz serwera WWW, które zostały właśnie utworzone i skopiowane z konsoli Google Cloud. Kliknij Zapisz.
Uwierzytelnianie Firebase: jak określa się %APP_NAME%
w przypadku szablonu e-maila z potwierdzeniem, który może zostać wysłany do użytkownika rejestrującego się za pomocą adresu e-mail i hasła?
Przed grudniem 2022 r. pole %APP_NAME%
w szablonie e-maila zawierało nazwę marki OAuth, która była automatycznie udostępniana za każdym razem, gdy w projekcie Firebase była zarejestrowana aplikacja na Androida. Marka OAuth jest udostępniana tylko po włączeniu logowania przez Google, więc poniżej opisano sposób określania %APP_NAME%
:
Jeśli nazwa marki OAuth jest dostępna,
%APP_NAME%
w szablonie e-maila będzie nazwą marki OAuth (tak samo jak przed grudniem 2022 r.).Jeśli nazwa marki OAuth nie jest dostępna, wartość
%APP_NAME%
w szablonie e-maila jest określana w ten sposób:W przypadku aplikacji internetowych
%APP_NAME%
będzie domyślną nazwą witryny Hostingu Firebase (wartością poprzedzającą.firebaseapp.com
i.web.app
, a zwykle też identyfikatorem projektu Firebase).W przypadku aplikacji mobilnych:
Jeśli żądanie zawiera nazwę pakietu na Androida lub identyfikator pakietu na iOS,
%APP_NAME%
jest nazwą aplikacji używaną odpowiednio w Sklepie Play lub App Store.W przeciwnym razie
%APP_NAME%
będzie domyślną nazwą witryny Hostingu Firebase (wartością poprzedzającą.firebaseapp.com
i.web.app
oraz zwykle identyfikatorem projektu Firebase).
Pamiętaj, że jeśli wyszukiwanie nazwy domyślnej witryny Hostingu Firebase się nie uda, ostatnią opcją zastępczą jest użycie identyfikatora projektu Firebase jako elementu
%APP_NAME%
.
Cloud Functions
Obsługa środowiska wykonawczego Cloud Functions
Jak uaktualnić Node.js do najnowszej obsługiwanej wersji?
- Sprawdź, czy masz abonament Blaze.
- Upewnij się, że używasz najnowszej wersji interfejsu wiersza poleceń Firebase.
- Zaktualizuj pole
engines
wpackage.json
funkcji. - Opcjonalnie przetestuj zmiany za pomocą Pakietu emulatorów lokalnych Firebase.
- Wdróż ponownie wszystkie funkcje.
Jak mogę sprawdzić, czy udało mi się wdrożyć moje funkcje w konkretnym środowisku wykonawczym Node.js?
W konsoli Firebase otwórz panel funkcji, wybierz funkcję i sprawdź jej język w sekcji Dodatkowe szczegóły.
Korzystam z Rozszerzeń w Firebase. Czy aktualizacje środowiska wykonawczego Cloud Functions będą miały na mnie wpływ?
Tak. Rozszerzenia korzystają z Cloud Functions, dlatego musisz zaktualizować ich środowisko wykonawcze zgodnie z tym samym harmonogramem.
Zalecamy okresowe aktualizowanie każdego rozszerzenia zainstalowanego w Twoim projekcie do najnowszej wersji. Rozszerzenia projektów możesz uaktualnić za pomocą konsoli Firebase lub interfejsu wiersza poleceń Firebase.
Komunikacja w chmurze
Komunikacja w chmurze: jaka jest różnica między narzędziem do tworzenia powiadomień a Komunikacją w chmurze?
Komunikacja w chmurze Firebase (FCM) udostępnia kompletny zestaw funkcji przesyłania wiadomości za pomocą pakietów SDK klienta oraz protokołów serwera HTTP i XMPP. W przypadku wdrożeń z bardziej złożonymi wymaganiami w zakresie przesyłania wiadomości właściwym rozwiązaniem jest FCM.
Narzędzie do tworzenia powiadomień to lekkie, bezserwerowe rozwiązanie do przesyłania wiadomości oparte na Komunikacji w chmurze Firebase (FCM). Mając przyjazną dla użytkownika konsolę graficzną i zmniejszone wymagania dotyczące kodowania, narzędzie do tworzenia powiadomień umożliwia łatwe wysyłanie wiadomości, aby ponownie zaangażować i utrzymać użytkowników, wspierać rozwój aplikacji i wspierać kampanie marketingowe.
Możliwości | Kreator powiadomień | Komunikacja w chmurze | |
---|---|---|---|
Wartość docelowa | Konkretne urządzenie | ||
Klienci zasubskrybowali tematy (np. pogodę) | |||
Klienci we wstępnie zdefiniowanym segmencie użytkowników (aplikacja, wersja, język) | |||
Klienci na określonych listach odbiorców w Analytics | |||
Klienci w grupach urządzeń | |||
Przesyłanie wiadomości od klienta do serwera | |||
Typ wiadomości | Powiadomienia do 2 KB | ||
Wiadomości z danymi do 4 KB | |||
Dostawa | Natychmiast | ||
Przyszły czas lokalny urządzenia klienckiego | |||
Analytics | Wbudowane zbieranie danych analitycznych o powiadomieniach i analiza ścieżki |
Komunikacja w chmurze: firma Apple ogłosiła, że wycofuje starszy protokół binarny dla APN-ów. Czy muszę coś zrobić?
Nie. W 2017 r. usługa Firebase Cloud Messaging przeszła na protokół APNs oparty na HTTP/2. Jeśli używasz FCM do wysyłania powiadomień na urządzenia z iOS, nie musisz nic robić.
Komunikacja w chmurze: czy muszę korzystać z innych usług Firebase, aby używać FCM?
Komunikacji w chmurze Firebase możesz używać jako samodzielnego komponentu w taki sam sposób jak w przypadku GCM, bez korzystania z innych usług Firebase.
Komunikacja w chmurze: jestem deweloperem aplikacji Google Cloud Messaging (GCM). Czy mam przejść na Komunikację w chmurze Firebase?
FCM to nowa wersja GCM pod marką Firebase. Odziedziczy podstawową infrastrukturę GCM z nowymi pakietami SDK, które ułatwiają tworzenie Komunikacji w chmurze.
Zalety przejścia na pakiet SDK FCM:
- Łatwiejsze tworzenie klientów. Nie musisz już pisać własnej logiki rejestracji lub ponawiania subskrypcji.
- Gotowe rozwiązanie do obsługi powiadomień. Możesz użyć Kreatora powiadomień – bezserwerowego rozwiązania do obsługi powiadomień z konsolą internetową, która na podstawie statystyk z Google Analytics pozwala każdemu wysyłać powiadomienia do określonych grup odbiorców.
Aby przejść z pakietów SDK GCM na pakiety SDK FCM, zapoznaj się z przewodnikami po migracji aplikacji na Androida i iOS.
Komunikacja w chmurze: dlaczego urządzenia docelowe nie otrzymują wiadomości?
Jeśli wygląda na to, że urządzenia nie odbierają wiadomości, najpierw sprawdź te 2 możliwe przyczyny:
Obsługa wiadomości z powiadomieniami na pierwszym planie Aplikacje klienckie muszą dodać mechanizm obsługi wiadomości, aby obsługiwać komunikaty z powiadomieniami, gdy aplikacja działa na pierwszym planie na urządzeniu. Sprawdź szczegóły dotyczące iOS i Androida.
Ograniczenia zapory sieciowej. Jeśli Twoja organizacja ma zaporę sieciową, która ogranicza ruch do lub z internetu, musisz skonfigurować ją tak, aby zezwalała na połączenie z FCM, aby aplikacje klienckie Komunikacji w chmurze Firebase (FCM) mogły odbierać wiadomości. Porty, które należy otworzyć:
- 5228
- 5229
- 5230
FCM zwykle używa kodów 5228, ale czasami używa numerów 5229 i 5230. FCM nie udostępnia konkretnych adresów IP, dlatego musisz zezwolić zapory sieciowej na akceptowanie połączeń wychodzących ze wszystkimi adresami IP znajdującymi się w blokach adresów IP wymienionych w ASN Google 15169.
Komunikacja w chmurze: mam zaimplementowane onMessageReceived
w mojej aplikacji na Androida, ale usługa nie jest wywoływana.
Gdy aplikacja działa w tle,
komunikaty z powiadomieniami są wyświetlane w obszarze powiadomień, a onMessageReceived
nie jest wywoływane. W przypadku powiadomień z ładunkiem danych wiadomość z powiadomieniem jest wyświetlana w obszarze powiadomień, a dane zawarte w powiadomieniach można pobrać z intencji uruchomionej po kliknięciu powiadomienia przez użytkownika.
Więcej informacji znajdziesz w artykule o odbieraniu i przetwarzaniu wiadomości.
Kreator powiadomień: jaka jest różnica między narzędziem do tworzenia powiadomień a Komunikacją w chmurze?
Narzędzie do tworzenia powiadomień to lekkie, bezserwerowe rozwiązanie do przesyłania wiadomości oparte na Komunikacji w chmurze Firebase (FCM). Mając przyjazną dla użytkownika konsolę graficzną i zmniejszone wymagania dotyczące kodowania, narzędzie do tworzenia powiadomień umożliwia łatwe wysyłanie wiadomości, aby ponownie zaangażować i utrzymać użytkowników, wspierać rozwój aplikacji i wspierać kampanie marketingowe.
Komunikacja w chmurze Firebase (FCM) udostępnia kompletny zestaw funkcji przesyłania wiadomości za pomocą pakietów SDK klienta oraz protokołów serwera HTTP i XMPP. W przypadku wdrożeń z bardziej złożonymi wymaganiami w zakresie przesyłania wiadomości właściwym rozwiązaniem jest FCM.
Oto porównanie funkcji wiadomości dostarczanych przez usługę Komunikacja w chmurze Firebase (FCM) i narzędzie do tworzenia powiadomień:
Możliwości | Kreator powiadomień | Komunikacja w chmurze | |
---|---|---|---|
Wartość docelowa | Konkretne urządzenie | ||
Klienci zasubskrybowali tematy (np. pogodę) | |||
Klienci we wstępnie zdefiniowanym segmencie użytkowników (aplikacja, wersja, język) | |||
Klienci na określonych listach odbiorców w Analytics | |||
Klienci w grupach urządzeń | |||
Przesyłanie wiadomości od klienta do serwera | |||
Typ wiadomości | Powiadomienia do 2 KB | ||
Wiadomości z danymi do 4 KB | |||
Dostawa | Natychmiast | ||
Przyszły czas lokalny urządzenia klienckiego | |||
Analytics | Wbudowane zbieranie danych analitycznych o powiadomieniach i analiza ścieżki |
Kreator powiadomień: jestem deweloperem aplikacji Google Cloud Messaging (GCM) i chcę używać narzędzia do tworzenia powiadomień. Co mam zrobić?
Narzędzie do tworzenia powiadomień to gotowe rozwiązanie, które na podstawie statystyk z Google Analytics pozwala każdemu wysyłać powiadomienia do określonych grup odbiorców. Ponadto narzędzie do tworzenia powiadomień umożliwia analizę ścieżki każdej wiadomości, co pozwala łatwo ocenić skuteczność powiadomień.
Jeśli jesteś już deweloperem GCM, to aby korzystać z narzędzia do tworzenia powiadomień, musisz przejść z pakietów SDK GCM na pakiety SDK FCM. Zapoznaj się z przewodnikami migracji aplikacji na Androida i iOS.
Funkcje FCM zostały wycofane w czerwcu 2023 r.
Które interfejsy API FCM zostały wycofane 20 czerwca 2023 roku i co mam zrobić, jeśli używam tych interfejsów API?
Wycofanie będzie miało wpływ na te interfejsy API i pakiety SDK:
Interfejsy API serwerów
Nazwa interfejsu API | Punkt końcowy API | Wpływ na użytkowników | Wymagane działanie |
---|---|---|---|
Starszy protokół HTTP | https://fcm.googleapis.com/fcm/send | Po 21 czerwca 2024 r. żądania wysyłane do punktu końcowego zaczną kończyć się niepowodzeniem. | Przejdź na interfejs HTTP w wersji 1 |
Starszy protokół XMPP | fcm-xmpp.googleapis.com:5235 | Po 21 czerwca 2024 r. żądania wysyłane do punktu końcowego zaczną kończyć się niepowodzeniem. | Przejdź na interfejs HTTP w wersji 1 |
Interfejsy API serwera identyfikatorów instancji | https://iid.googleapis.com/v1/web/iid | Po 21 czerwca 2024 r. żądania wysyłane do punktu końcowego zaczną kończyć się niepowodzeniem. | Do tworzenia rejestracji internetowych w FCM używaj pakietu SDK Web JS. |
https://iid.googleapis.com/iid/* | Po 21 czerwca 2024 roku punkty końcowe będą nadal działać, ale nie będą obsługiwać uwierzytelniania za pomocą statycznych kluczy serwera. | Użyj tokena dostępu OAuth 2.0 pobranego z konta usługi. | |
Interfejs API zarządzania grupą urządzeń | https://fcm.googleapis.com/fcm/notification | Po 21 czerwca 2024 roku punkt końcowy będzie nadal działać, ale nie będzie obsługiwać uwierzytelniania za pomocą statycznych kluczy serwera. | Użyj tokena dostępu OAuth 2.0 pobranego z konta usługi. |
Przesyłanie wiadomości przez XMPP | fcm-xmpp.googleapis.com:5235 | Po 21 czerwca 2024 roku wywołania interfejsu API w usłudze FirebaseMessaging.send w aplikacji nie będą już aktywować wysyłania wiadomości do serwera aplikacji. | Zaimplementuj tę funkcję w logice serwera. Na przykład niektórzy programiści implementują własny punkt końcowy HTTP/gRPC i wywołują go bezpośrednio w celu wysyłania wiadomości z klientów na serwer aplikacji. W tym krótkim wprowadzeniu do gRPC znajdziesz przykładową implementację przesyłania komunikatów za pomocą gRPC. |
Interfejs Batch Send API | https://fcm.googleapis.com/batch | Po 21 czerwca 2024 r. żądania wysyłane do punktu końcowego zaczną kończyć się niepowodzeniem. | Przejdź na standardową metodę wysyłania interfejsu API HTTP v1, która obsługuje protokół HTTP/2 na potrzeby multipleksowania. |
Interfejsy API pakietu Firebase Admin SDK
Nazwa interfejsu API | Język API | Wpływ na użytkowników | Wymagane działanie |
---|---|---|---|
sendToDevice()
|
Node.js | Po 21 czerwca 2024 r. ten interfejs API przestanie działać, ponieważ będzie wywoływać starszy interfejs HTTP Send API. | Użyj metody send() .
|
sendToDeviceGroup()
|
Node.js | Po 21 czerwca 2024 r. ten interfejs API przestanie działać, ponieważ będzie wywoływać starszy interfejs HTTP Send API. | Użyj metody send() .
|
sendAll()/sendAllAsync()/send_all()/sendMulticast()/SendMulticastAsync()/send_multicast()
|
Node.js, Java, Python, Go, C# | Po 21 czerwca 2024 roku te interfejsy API przestaną działać, ponieważ wywołują interfejs API wysyłania wsadowego . | Uaktualnij pakiet Firebase Admin SDK do najnowszej wersji i użyj nowych interfejsów API: sendEach()/
sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/
send_each_for_multicast() .
Pamiętaj, że nowe interfejsy API nie wywołują już wycofanego interfejsu API wysyłania wsadowego i dlatego mogą tworzyć więcej równoczesnych połączeń HTTP niż stare interfejsy API. |
Pakiety SDK klienta
Wersje pakietu SDK | Wpływ na użytkowników | Wymagane działanie |
---|---|---|
Pakiety SDK GCM (wycofane w 2018 roku) | Po 21 czerwca 2024 roku aplikacje korzystające z pakietów SDK GCM nie będą mogły rejestrować tokenów ani otrzymywać wiadomości z FCM. | Uaktualnij pakiet SDK Androida do najnowszej wersji Firebase, jeśli jeszcze jej nie masz. |
Pakiety SDK JS w wersji <7.0.0 (niezbędna zmiana w wersji 7.0.0 w 2019 r.) | Po 21 czerwca 2024 roku aplikacje internetowe korzystające ze starszych pakietów JS SDK nie będą mogły rejestrować tokenów. | Uaktualnij pakiet SDK Firebase Web do najnowszej wersji. |
Czy przed czerwcem 2024 roku będę mieć możliwość przejścia na niższą wersję usługi?
Nie. Masz 12 miesięcy (20 czerwca 2023 r. – 21 czerwca 2024 r.), aby przeprowadzić migrację ze starych interfejsów API do nowych bez konieczności przechodzenia na niższą wersję usługi. Zdecydowanie zalecamy jak najszybsze zaplanowanie migracji, aby uchronić Cię przed wycofaniem interfejsów API w czerwcu 2024 r.
Po czerwcu 2024 r. podczas korzystania z wymienionych wyżej interfejsów API i pakietów SDK możesz zauważyć wzrost liczby błędów lub braku funkcji.
Czym różnią się tokeny OAuth 2.0 od kluczy serwera?
Token OAuth 2.0 to krótki token pochodzący z konta usługi. To standardowy model uwierzytelniania Google i jest bezpieczniejszy niż statyczne klucze serwera.
Wskazówki dotyczące uzyskiwania tokenów za pomocą biblioteki uwierzytelniania Google znajdziesz w sekcji Używanie danych logowania do generowania tokenów dostępu.
Pamiętaj, że nagłówki żądań różnią się, gdy używasz tokenów OAuth 2.0 do obsługi żądań wysyłanych do różnych punktów końcowych.
- Interfejs API HTTP v1:
Authorization: Bearer $oauth_token
- Instance ID Server API i Device group Management API:
Authorization: Bearer $oauth_token
access_token_auth: true
Czy mogę przenieść wszystkie żądania do nowego interfejsu API jednocześnie?
Zalecamy stopniowe zwiększanie ruchu do nowego interfejsu API. Jeśli spodziewasz się regularnego wysyłania ponad 600 tys. wiadomości na minutę, skontaktuj się z zespołem pomocy Firebase, aby dowiedzieć się, jak zwiększyć limit, lub uzyskać zalecenia dotyczące rozproszenia ruchu.
Jaka jest różnica między interfejsem HTTP w wersji 1 a starszymi interfejsami API, gdy wysyłam wiadomości do tematów lub grup urządzeń?
Tematy: jeśli korzystasz z interfejsu API w wersji 1, nie musisz dodawać prefiksu „/topics/” do miejsca docelowego tematu.
Grupy urządzeń: możesz użyć tokena grupy jako miejsca docelowego tokena w interfejsie API HTTP v1. Jednak interfejs API HTTP w wersji 1 nie zwraca w odpowiedzi liczby sukcesów/niepowodzeń. Zalecamy korzystanie z tematów FCM lub samodzielne zarządzanie grupami urządzeń.
Czy interfejs API HTTP w wersji 1 obsługuje wysyłanie wiadomości do wielu tokenów w ramach jednego żądania?
Nie. W starszych interfejsach API HTTP ta funkcja nazywa się „multicastem” i nie jest obsługiwana przez interfejs API HTTP w wersji 1, który lepiej służy do skalowalności.
W przypadkach użycia, w których pełny czas oczekiwania jest krytyczny lub całkowity rozmiar rozpowszechnienia jest niewielki (mniej niż milion), Google zaleca wysyłanie wielu osobnych żądań za pomocą interfejsu HTTP v1 API. Interfejs API HTTP v1 przez HTTP/2 działa podobnie w przypadku 99,9% żądań multiemisji (wysyłanie mniej niż 100 tokenów). W przypadku nietypowych zastosowań (wysyłanie 1000 tokenów) osiąga do 1/3 przepustowości, więc do optymalizacji pod kątem tego nietypowego przypadku użycia potrzebna jest dodatkowa równoczesność. Interfejs API HTTP w wersji 1 zapewnia użytkownikom większą niezawodność i dostępność niż w przypadku starszej metody multiemisji.
W przypadkach użycia, w których priorytetem jest przepustowość i przepustowość ruchu wychodzącego, lub gdy łączny rozmiar rozpowszechnienia jest duży (ponad 1 milion), Google zaleca przesyłanie wiadomości na dany temat. Choć przesyłanie wiadomości dotyczących tematów wymaga jednorazowego działania, aby zasubskrybować temat odbiorców,oferuje ona do 10 000 zapytań na sekundę na projekt bez maksymalnego limitu rozmiaru tematu.
Które wersje pakietu Firebase Admin SDK mają nowe interfejsy API?
Platforma | Wersja pakietu Firebase Admin SDK |
---|---|
Node.js | >=11,7,0 |
Python | >=6,2,0 |
Java | >=9,2,0 |
Go | >=4,12,0 |
.NET | >=2,4,0 |
Jaka jest różnica między interfejsem API do wysyłania wsadowego a interfejsem API HTTP w wersji 1?
Interfejs API wysyłania wsadowego FCM korzysta z tego samego formatu wiadomości i mechanizmu uwierzytelniania co interfejs HTTP v1 API. Wykorzystuje jednak inny punkt końcowy. Jeśli chcesz poprawić wydajność, rozważ wysyłanie do interfejsu API HTTP v1 wielu żądań za pomocą tego samego połączenia HTTP.
Co zrobić, jeśli nie mam dostępu do projektu?
Aby uzyskać pomoc, skontaktuj się z zespołem pomocy Google Cloud.
Czy w nowych projektach można włączyć starszą wersję interfejsu Cloud Messaging API?
Nie. Od 20 maja 2024 r. w nowych projektach nie będzie już można używać starszych interfejsów API.
Cloud Storage dla Firebase
Cloud Storage dla Firebase: dlaczego nie mogę korzystać z Cloud Storage dla Firebase?
Cloud Storage dla Firebase tworzy domyślny zasobnik na poziomie bezpłatnym App Engine. Dzięki temu możesz szybko rozpocząć korzystanie z Firebase i Cloud Storage dla Firebase bez konieczności podawania karty kredytowej ani włączania konta rozliczeniowego Cloud. Umożliwia też łatwe udostępnianie danych między Firebase a projektem Google Cloud.
Istnieją jednak 2 znane przypadki, w których tego zasobnika nie można utworzyć i korzystanie z Cloud Storage dla Firebase nie będzie możliwe:
- Projekt zaimportowany z Google Cloud, który miał nadrzędną/podrzędną aplikację Datastore App Engine.
-
Projekt zaimportowany z Google Cloud, który ma projekty z przedrostkiem domeny. Przykład:
domain.com:project-1234
.
Obecnie nie można obejść tych problemów. Zalecamy utworzenie nowego projektu w konsoli Firebase i włączenie w nim Cloud Storage dla Firebase.
Cloud Storage dla Firebase: dlaczego podczas korzystania z interfejsu Cloud Storage for Firebase API widzę odpowiedzi z kodem błędu 412 dotyczące uprawnień konta usługi i nieudanych operacji na koncie usługi?
Prawdopodobnie otrzymujesz kody błędów 412, ponieważ interfejs Cloud Storage for Firebase API nie jest włączony w projekcie lub niezbędne konto usługi nie ma wymaganych uprawnień.
Zobacz powiązane najczęstsze pytania.
Cloud Storage dla Firebase: czy w projektach abonamentu Spark mogę przechowywać pliki wykonywalne?
W projektach bezpłatnych (Spark) Firebase blokuje przesyłanie i hostowanie określonych typów plików wykonywalnych dla systemów Windows, Android i Apple przez Cloud Storage dla Firebase i Hostingu Firebase. Te zasady mają na celu zapobieganie nadużyciom na naszej platformie.
Wyświetlanie, hostowanie i przesyłanie niedozwolonych plików jest zablokowane we wszystkich projektach Spark utworzonych 28 września 2023 r. lub później. W przypadku istniejących projektów Spark z plikami przesłanymi przed tą datą takie pliki nadal można przesyłać i hostować.
To ograniczenie dotyczy projektów abonamentu Spark. Nie ma to wpływu na projekty korzystające z płatności według wykorzystania (Blaze).
W Hostingu Firebase i Cloud Storage dla Firebase nie można hostować tych typów plików:
- Pliki Windows z rozszerzeniami
.exe
,.dll
i.bat
- Pliki na Androida z rozszerzeniem
.apk
- Pliki na platformie Apple z rozszerzeniem
.ipa
Co muszę zrobić?
Jeśli po 28 września 2023 r. nadal chcesz przechowywać te typy plików:
- W przypadku Hostingu: przejdź na abonament Blaze, aby móc wdrożyć w Hostingu Firebase te typy plików za pomocą polecenia
firebase deploy
. - Miejsce na dane: przejdź na abonament Blaze, aby móc przesyłać te typy plików do wybranego zasobnika za pomocą interfejsu wiersza poleceń GCS, konsoli Firebase lub konsoli Google Cloud.
Za pomocą narzędzi Firebase możesz zarządzać zasobami Hostingu Firebase i Cloud Storage.
- Aby zarządzać zasobami w Hostingu Firebase, użyj konsoli Firebase do usuwania wersji zgodnie z tym przewodnikiem.
- Aby zarządzać zasobami w Cloud Storage, otwórz stronę usługi Storage w projekcie.
- Na karcie Pliki znajdź w hierarchii folderów niedozwolone pliki do usunięcia, a potem zaznacz je, zaznaczając pola wyboru obok nazw plików po lewej stronie panelu.
- Kliknij Usuń i potwierdź, że pliki zostały usunięte.
Więcej informacji o zarządzaniu zasobami Hostingu za pomocą narzędzi Firebase i zasobnikami Cloud Storage dla Firebase za pomocą bibliotek klienta znajdziesz w naszej dokumentacji.
Cloud Storage dla Firebase: dlaczego zauważam nieoczekiwany wzrost liczby operacji przesyłania i pobierania?
Wcześniej żądania pobierania i przesyłania do interfejsu Cloud Storage for Firebase API nie były prawidłowo zliczane. Podejmowaliśmy kroki, aby rozwiązać ten problem, od 15 września 2023 r.
W przypadku użytkowników Blaze operacje przesyłania i pobierania będą wliczane do rachunku miesięcznego. Użytkownicy Spark zaczną wliczać się do miesięcznego bezpłatnego limitu.
Zalecamy monitorowanie strony Użycie pod kątem wzrostu, który może się liczyć do limitów.
Cloud Storage dla Firebase: dlaczego widzę nowe identyfikatory kont usługi powiązane z projektami Firebase, które korzystają z Cloud Storage dla Firebase?
Firebase używa kont usługi do obsługi usług i zarządzania nimi bez konieczności udostępniania danych logowania użytkownika. Podczas tworzenia projektu Firebase możesz zauważyć, że masz już w nim dostępnych kilka kont usługi.
Konto usługi używane przez Cloud Storage dla Firebase jest ograniczone do Twojego projektu i nosi nazwę service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
.
Jeśli usługa Cloud Storage dla Firebase była używana przed 19 września 2022 r., w połączonych wcześniej zasobnikach Cloud Storage może pojawić się dodatkowe konto usługi o nazwie firebase-storage@system.gserviceaccount.com
. Od 19 września 2022 r. to konto usługi nie będzie już obsługiwane.
Wszystkie konta usługi powiązane z projektem możesz wyświetlić w konsoli Firebase na karcie Konta usługi.
Dodaję nowe konto usługi
Jeśli konto usługi zostało wcześniej usunięte lub nie ma go w projekcie, możesz je dodać, wykonując jedną z tych czynności.
- (Zalecane) Automatycznie: użyj punktu końcowego REST AddFirebase, aby ponownie zaimportować zasobnik do Firebase. Wystarczy wywołać ten punkt końcowy raz, a nie raz dla każdego połączonego zasobnika.
-
Ręcznie: wykonaj czynności opisane w artykule Tworzenie kont usługi i zarządzanie nimi.
Postępując zgodnie z tym przewodnikiem, dodaj konto usługi z rolą uprawnień
Cloud Storage for Firebase Service Agent
i nazwę konta usługiservice-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
.
Usuwam nowe konto usługi
Zdecydowanie odradzamy usunięcie konta usługi, ponieważ może to zablokować Twoim aplikacjom dostęp do zasobników Cloud Storage. Aby usunąć konto usługi z projektu, wykonaj instrukcje opisane w sekcji Wyłączanie konta usługi.
Crashlytics
Na stronie Rozwiązywanie problemów i odpowiedzi na najczęstsze pytania znajdziesz przydatne wskazówki i odpowiedzi na inne najczęstsze pytania.
Linki dynamiczne
Linki dynamiczne: jakie są przyszłe plany Firebase dotyczące Linków dynamicznych?
Linki dynamiczne: dlaczego moja aplikacja na Androida ma 2 razy dostęp do każdego linku dynamicznego?
Interfejs getInvitation
API czyści zapisany link dynamiczny, aby uniemożliwić jego podwójny dostęp. Pamiętaj, aby wywoływać ten interfejs API z parametrem autoLaunchDeepLink
ustawionym na false
w każdej aktywności związanej z precyzyjnymi linkami, aby wyczyścić go na potrzeby sytuacji, gdy działanie jest aktywowane poza główną aktywnością.
Pakiet emulatorów lokalnych Firebase
Dlaczego w logach Pakietu emulatorów pojawia się błąd zaczynający się od tekstu „W trybie pojedynczego projektu nie jest zalecanych wiele identyfikatorów projektu”?
Ten komunikat oznacza, że Pakiet emulatorów wykrył, że może uruchomić emulator konkretnej usługi z różnymi identyfikatorami projektów. Może to wskazywać na nieprawidłową konfigurację i powodować problemy, gdy emulatory próbują komunikować się ze sobą oraz gdy próbujesz wejść w interakcję z emulatorami z poziomu kodu. Jeśli identyfikatory projektów nie są zgodne, często może się wydawać, że brakuje danych, ponieważ dane przechowywane w emulatorach są kluczem do identyfikatora projektu, a interoperacyjność zależy od pasujących identyfikatorów projektów.
Było to częstym źródłem nieporozumień dla programistów, dlatego teraz pakiet emulatorów lokalnych będzie domyślnie zezwalać na uruchamianie tylko z jednym identyfikatorem projektu, chyba że określisz inaczej w pliku konfiguracji firebase.json
. Jeśli emulator wykryje więcej niż 1 identyfikator projektu, zarejestruje ostrzeżenie i może zwrócić błąd krytyczny.
Sprawdź, czy w deklaracjach dotyczących identyfikatorów projektów nie ma niezgodności:
-
Domyślny projekt ustawiony w wierszu poleceń. Domyślnie identyfikator projektu będzie pobierany podczas uruchamiania z projektu wybranego za pomocą
firebase init
lubfirebase use
. Aby wyświetlić listę projektów (i sprawdzić, który z nich został wybrany), użyj usługifirebase projects:list
. -
Testy jednostkowe. Identyfikator projektu jest często podawany w wywołaniach metod biblioteki testowania jednostek reguł
initializeTestEnvironment
lubinitializeTestApp
. Inny kod testowy może zainicjowaćinitializeApp(config)
. -
Flaga wiersza poleceń
--project
. Przekazywanie flagi--project
interfejsu wiersza poleceń Firebase zastępuje projekt domyślny. W testach jednostkowych i inicjowaniu aplikacji musisz upewnić się, że wartość flagi odpowiada identyfikatorowi projektu.
Miejsca, które należy sprawdzić na poszczególnych platformach:
Sieć | Właściwość projectId w obiekcie JavaScript firebaseConfig używana w initializeApp .
|
Urządzenie z Androidem | Właściwość project_id w pliku konfiguracji google-services.json .
|
Platformy Apple | Właściwość PROJECT_ID w pliku konfiguracji GoogleService-Info.plist .
|
Aby wyłączyć tryb pojedynczego projektu, zaktualizuj firebase.json
za pomocą klucza singleProjectMode
:
{ "firestore": { ... }, "functions": { ... }, "hosting": { ... }, "emulators": { "singleProjectMode": false, "auth": { "port": 9099 }, "functions": { "port": 5001 }, ... } }
Hosting
Hosting: czy w projektach abonamentu Spark mogę przechowywać pliki wykonywalne?
W projektach bezpłatnych (Spark) Firebase blokuje przesyłanie i hostowanie określonych typów plików wykonywalnych dla systemów Windows, Android i Apple przez Cloud Storage dla Firebase i Hostingu Firebase. Te zasady mają na celu zapobieganie nadużyciom na naszej platformie.
Wyświetlanie, hostowanie i przesyłanie niedozwolonych plików jest zablokowane we wszystkich projektach Spark utworzonych 28 września 2023 r. lub później. W przypadku istniejących projektów Spark z plikami przesłanymi przed tą datą takie pliki nadal można przesyłać i hostować.
To ograniczenie dotyczy projektów abonamentu Spark. Nie ma to wpływu na projekty korzystające z płatności według wykorzystania (Blaze).
W Hostingu Firebase i Cloud Storage dla Firebase nie można hostować tych typów plików:
- Pliki Windows z rozszerzeniami
.exe
,.dll
i.bat
- Pliki na Androida z rozszerzeniem
.apk
- Pliki na platformie Apple z rozszerzeniem
.ipa
Co muszę zrobić?
Jeśli po 28 września 2023 r. nadal chcesz przechowywać te typy plików:
- W przypadku Hostingu: przejdź na abonament Blaze, aby móc wdrożyć w Hostingu Firebase te typy plików za pomocą polecenia
firebase deploy
. - Miejsce na dane: przejdź na abonament Blaze, aby móc przesyłać te typy plików do wybranego zasobnika za pomocą interfejsu wiersza poleceń GCS, konsoli Firebase lub konsoli Google Cloud.
Za pomocą narzędzi Firebase możesz zarządzać zasobami Hostingu Firebase i Cloud Storage.
- Aby zarządzać zasobami w Hostingu Firebase, użyj konsoli Firebase do usuwania wersji zgodnie z tym przewodnikiem.
- Aby zarządzać zasobami w Cloud Storage, otwórz stronę usługi Storage w projekcie.
- Na karcie Pliki znajdź w hierarchii folderów niedozwolone pliki do usunięcia, a potem zaznacz je, zaznaczając pola wyboru obok nazw plików po lewej stronie panelu.
- Kliknij Usuń i potwierdź, że pliki zostały usunięte.
Więcej informacji o zarządzaniu zasobami Hostingu za pomocą narzędzi Firebase i zasobnikami Cloud Storage dla Firebase za pomocą bibliotek klienta znajdziesz w naszej dokumentacji.
Hosting: dlaczego tabela historii wersji Hostingu w konsoli Firebase pokazuje liczbę plików, które są większe niż w rzeczywistości w projekcie lokalnym?
Firebase automatycznie dodaje dodatkowe pliki zawierające metadane dotyczące witryny Hostingu, które są uwzględniane w łącznej liczbie plików w danej wersji.
Hosting: jaki jest największy rozmiar pliku, który mogę wdrożyć w Hostingu Firebase?
Hosting ma limit rozmiaru pojedynczych plików wynoszący 2 GB.
Zalecamy przechowywanie większych plików za pomocą usługi Cloud Storage, która oferuje maksymalny rozmiar poszczególnych obiektów w terabajtach.
Hosting: ile mogę mieć witryn Hostingu w ramach projektu Firebase?
Funkcja wielu witryn w Hostingu Firebase obsługuje maksymalnie 36 witryn na projekt.
Monitorowanie wydajności
Przydatne wskazówki i odpowiedzi na inne najczęstsze pytania znajdziesz na stronie Rozwiązywanie problemów z monitorowaniem skuteczności i najczęstsze pytania.
Monitorowanie wydajności: ile niestandardowych wzorców adresów URL mogę utworzyć?
Możesz utworzyć łącznie do 400 niestandardowych wzorców adresów URL na aplikację i do 100 niestandardowych wzorców adresu URL na domenę dla tej aplikacji.
Monitorowanie skuteczności: dlaczego nie widzę danych o skuteczności w czasie rzeczywistym?
Aby wyświetlać dane o wydajności w czasie rzeczywistym, sprawdź, czy Twoja aplikacja używa wersji pakietu SDK do monitorowania wydajności, która jest zgodna z przetwarzaniem danych w czasie rzeczywistym.
- iOS – wersja 7.3.0 lub nowsza
- tvOS – wersja 8.9.0 lub nowsza
- Android – wersja 19.0.10 lub nowsza (albo Firebase Android BoM w wersji 26.1.0 lub nowszej)
- Internet – wersja 7.14.0 lub nowsza
Pamiętaj, że zawsze zalecamy korzystanie z najnowszej wersji pakietu SDK. Każda z podanych wyżej wersji umożliwi usłudze Monitorowanie wydajności przetwarzanie danych w czasie zbliżonym do rzeczywistego.
Baza danych czasu rzeczywistego
Baza danych czasu rzeczywistego: dlaczego w okresie od września 2016 r. do marca 2017 r. przepustowość w Bazie danych czasu rzeczywistego była mniejsza niż średnia?
W naszych obliczeniach przepustowości zwykle uwzględniamy narzut związany z szyfrowaniem SSL (na podstawie warstwy 5 modelu OSI). Jednak we wrześniu 2016 r. wprowadziliśmy błąd, który powodował, że nasze raportowanie przepustowości ignorowało obciążenie związane z szyfrowaniem. Mogło to spowodować sztucznie zaniżoną przepustowość raportowania i opłaty na koncie za kilka miesięcy.
Pod koniec marca 2017 r. opublikowaliśmy poprawkę tego błędu, przywracając raporty dotyczące przepustowości i płatności do normalnego poziomu.
Baza danych czasu rzeczywistego: jakie są ograniczenia skalowania bazy danych czasu rzeczywistego?
W każdej instancji bazy danych czasu rzeczywistego obowiązują limity liczby operacji zapisu na sekundę. W przypadku małych zapisów ten limit wynosi około 1000 operacji zapisu na sekundę. Jeśli zbliżasz się do tego limitu, operacje wsadowe z użyciem aktualizacji wielościeżkowych mogą pomóc Ci uzyskać większą przepustowość.
Oprócz tego każda instancja bazy danych ma ograniczenie liczby jednoczesnych połączeń z bazą danych. Nasze domyślne limity są wystarczająco duże dla większości aplikacji. Jeśli kompilujesz aplikację, która wymaga dodatkowej skali, może być konieczne podzielenie jej na kilka instancji bazy danych w celu zwiększenia skali. Jako alternatywną bazę danych możesz też rozważyć Cloud Firestore.
Baza danych czasu rzeczywistego: co mogę zrobić, jeśli przekroczę limity wykorzystania Bazy danych czasu rzeczywistego?
Jeśli otrzymasz e-maila z alertem lub powiadomienie w konsoli Firebase o przekroczeniu limitu wykorzystania Bazy danych czasu rzeczywistego, możesz rozwiązać ten problem odpowiednio do tego limitu. Aby sprawdzić wykorzystanie Bazy danych czasu rzeczywistego, otwórz panel Wykorzystanie bazy danych czasu rzeczywistego w konsoli Firebase.
Jeśli przekroczysz limit pobierania, możesz przejść na wyższą wersję abonamentu Firebase lub poczekać, aż limit pobierania zresetuje się na początku następnego cyklu rozliczeniowego. Aby zmniejszyć liczbę pobrań, wykonaj te czynności:
- Dodaj zapytania, aby ograniczyć dane zwracane przez operacje nasłuchiwania.
- Poszukaj niezindeksowanych zapytań.
- Używaj detektorów, które pobierają tylko aktualizacje danych – np.
on()
zamiastonce()
. - Używaj reguł zabezpieczeń, aby blokować nieautoryzowane pobieranie.
Jeśli przekraczasz limit miejsca na dane, przejdź na wyższy abonament, aby uniknąć przerw w działaniu usługi. Aby zmniejszyć ilość danych w bazie danych, wykonaj te czynności:
- uruchamiać zadania okresowego czyszczenia;
- Ogranicz liczbę duplikatów danych w bazie danych.
Pamiętaj, że usunięcie danych może pojawić się w przydzielonym miejscu dopiero po pewnym czasie.
Jeśli przekroczysz limit jednoczesnych połączeń z bazą danych, przejdź na wyższy abonament, aby uniknąć przerw w działaniu usługi. Aby zarządzać jednoczesnymi połączeniami z bazą danych, spróbuj połączyć się przez użytkowników za pomocą interfejsu API REST, jeśli nie wymagają połączenia w czasie rzeczywistym.
Zdalna konfiguracja
Zdalna konfiguracja: dlaczego pobrane wartości nie wpływają na działanie i wygląd mojej aplikacji?
Jeśli nie pobierzesz wartości za pomocą funkcji fetchAndActivate()
, wartości są przechowywane lokalnie, ale nie są aktywowane. Aby aktywować pobrane wartości i zastosować je, wywołaj activate
. Ten projekt pozwala kontrolować, kiedy zmienia się działanie i wygląd aplikacji, ponieważ możesz wybrać, kiedy wywołać funkcję activate
. Po wywołaniu funkcji activate
kod źródłowy aplikacji określa, kiedy używane są zaktualizowane wartości parametrów.
Możesz na przykład pobrać wartości i aktywować je przy następnym uruchomieniu aplikacji przez użytkownika. Dzięki temu nie będzie trzeba opóźniać uruchomienia aplikacji, gdy będzie ona oczekiwać na pobrane wartości z usługi. Działanie i wygląd aplikacji zmieniają się, gdy używa ona zaktualizowanych wartości parametrów.
Więcej informacji o interfejsie Remote Config API i modelu użycia znajdziesz w omówieniu interfejsu Remote Config API.
Zdalna konfiguracja: podczas tworzenia aplikacji wysyłam wiele żądań pobierania. Dlaczego aplikacja nie zawsze pobiera najnowsze wartości z usługi, gdy wysyła żądania pobierania?
Podczas tworzenia aplikacji możesz często pobierać i aktywować konfiguracje (wiele razy na godzinę), aby umożliwić szybkie iterowanie w trakcie tworzenia i testowania aplikacji. Aby umożliwić szybkie iterowanie w projekcie z maksymalnie 10 programistami, możesz tymczasowo ustawić w aplikacji obiekt FirebaseRemoteConfigSettings
z niskim minimalnym interwałem pobierania (setMinimumFetchIntervalInSeconds
).
Zdalna konfiguracja: jak szybko usługa Zdalnej konfiguracji zwraca pobrane wartości po wysłaniu przez aplikację żądania pobierania?
Urządzenia zwykle odbierają pobrane wartości w czasie krótszym niż sekundę, a często są to wartości w milisekundach. Usługa Zdalna konfiguracja obsługuje żądania pobierania w ciągu kilku milisekund, ale czas potrzebny do ich wykonania zależy od szybkości sieci urządzenia oraz opóźnienia połączenia sieciowego przez to urządzenie.
Jeśli chcesz, aby pobrane wartości jak najszybciej zaczęły obowiązywać w aplikacji, ale bez negatywnego wpływu na wygodę użytkowników, rozważ dodanie wywołań do funkcji fetchAndActivate
przy każdym odświeżeniu pełnego ekranu.
Laboratorium
Odwiedź stronę rozwiązywania problemów w Laboratorium, aby uzyskać przydatne wskazówki i odpowiedzi na najczęstsze pytania.
Pamięć masowa do podziału użytkowników w Firebase
Czym jest miejsce na segmenty użytkowników w Firebase?
W miejscu na segmenty użytkowników w Firebase przechowywane są identyfikatory instalacji Firebase oraz powiązane atrybuty i segmenty, a także listy odbiorców utworzone w celu dostarczania informacji o kierowaniu do innych usług Firebase, które z nich korzystają, takich jak Crashlytics, FCM czy personalizacja Zdalnej konfiguracji.