Masz inny problem lub nie widzisz go poniżej? Zgłoś błąd lub poproś o dodanie funkcji i dołącz do dyskusji w Stack Overflow.
Projekty Firebase i aplikacje Firebase
Czym jest projekt Firebase?
Projekt Firebase to jednostka najwyższego poziomu w Firebase. W projekcie możesz zarejestrować aplikacje na Apple, Androida lub aplikacje internetowe. Gdy zarejestrujesz aplikacje w Firebase, możesz dodać do niej pakiety SDK Firebase dla poszczególnych usług, np. Analytics, Cloud Firestore, Crashlytics lub Zdalna konfiguracja.
Wersje Apple i aplikacji na Androida oraz aplikacje internetowe musisz rejestrować w jednym projekcie Firebase. Możesz używać wielu projektów Firebase do obsługi wielu środowisk, takich jak środowisko programistyczne, przejściowe i produkcyjne.
Oto zasoby, z których dowiesz się więcej o projektach Firebase:
- Omówienie projektów Firebase – krótkie omówienie kilku ważnych koncepcji projektów Firebase, w tym ich relacji z Google Cloud oraz podstawowej hierarchii projektu oraz jego aplikacji i zasobów.
- Ogólne sprawdzone metody konfigurowania projektów Firebase – zawiera ogólne, ogólne sprawdzone metody konfigurowania projektów Firebase i rejestrowania aplikacji w projekcie. Dzięki temu masz jasny przepływ pracy w programowaniu oparty na różnych środowiskach.
Pamiętaj, że w przypadku wszystkich projektów Firebase Firebase automatycznie dodaje etykietę firebase:enabled
na stronie Etykiety Twojego projektu w konsoli Google Cloud. Więcej informacji o tej etykiecie znajdziesz w najczęstszych pytaniach.
Czym jest organizacja Google Cloud?
Organizacja Google Cloud to kontener dla projektów Google Cloud (w tym projektów Firebase). Ta hierarchia umożliwia lepszą organizację i kontrolę dostępu do projektów Google Cloud i Firebase oraz zarządzanie nimi. Więcej informacji znajdziesz w artykule o tworzeniu organizacji i zarządzaniu nimi.
Jak dodać Firebase do istniejącego projektu Google Cloud?
Być może masz istniejące projekty Google Cloud zarządzane za pomocą konsoli Google Cloud lub konsoli interfejsów API Google.
Możesz dodać Firebase do tych istniejących projektów, korzystając z dowolnej z tych opcji:
- Za pomocą konsoli Firebase:
Na stronie docelowej konsoli Firebase kliknij Dodaj projekt, a następnie w menu Nazwa projektu wybierz istniejący projekt. - W przypadku opcji automatyzacji:
- Wywołaj punkt końcowy interfejsu API REST zarządzania Firebase
addFirebase
. - Uruchom polecenie interfejsu wiersza poleceń Firebase
firebase projects:addfirebase
. - Użyj Terraform.
- Wywołaj punkt końcowy interfejsu API REST zarządzania Firebase
Dlaczego mój projekt Google Cloud ma etykietę firebase:enabled
?
Na stronie Etykiety Twojego projektu w konsoli Google Cloud może pojawić się etykieta firebase:enabled
(konkretnie Key
z firebase
z wartością Value
o wartości enabled
).
Usługa Firebase automatycznie dodała tę etykietę, ponieważ Twój projekt jest projektem Firebase, co oznacza, że Twój projekt ma włączone specyficzne dla Firebase konfiguracje i usługi. Dowiedz się więcej o zależności 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 Twoich projektów Firebase (np. za pomocą punktu końcowego interfejsu API REST projects.list
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 związanych z Firebase. Aby to zrobić, musisz dodać Firebase za pomocą konsoli Firebase (lub w zaawansowanych przypadkach użycia za pomocą interfejsu API typu REST Firebase Management lub interfejsu wiersza poleceń Firebase).
Dlaczego projektu Firebase nie ma na liście projektów Firebase?
To pytanie znajdziesz w sekcji „Najczęstsze pytania”, jeśli nie widzisz swojego projektu Firebase w tych miejscach:
- Na liście projektów, które wyświetlasz w konsoli Firebase
- W odpowiedzi z wywołania punktu końcowego interfejsu API REST
projects.list
- 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 dotyczących uprawnień, sprawdź te kwestie:
- Sprawdź, czy logujesz się w Firebase przy użyciu tego samego konta Google, które ma dostęp do projektu. Za pomocą awatara konta w prawym górnym rogu konsoli możesz się zalogować i wylogować z konsoli Firebase.
- Sprawdź, czy możesz wyświetlić projekt w konsoli Google Cloud.
- Sprawdź, czy Twój 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śli nie widzisz tej etykiety, ale interfejs Firebase Management API jest włączony w Twoim projekcie, dodaj ją ręcznie (w szczególnościKey
wartościfirebase
zValue
o wartościenabled
). - Sprawdź, czy masz przypisaną jedną z podstawowych ról uprawnień (Właściciel, Edytujący lub Wyświetlający) lub rolę, która zawiera uprawnienia związane z Firebase, np. 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ć projekt wyświetlany w konsoli Firebase. Skontaktuj się z osobą, która zarządza Twoją organizacją Google Cloud, i poproś o przypisanie Ci odpowiedniej roli umożliwiającej wyświetlanie projektu, na przykład roli przeglądarki.
Jeśli żaden z opisanych wyżej kroków rozwiązywania problemów nie pozwoli wyświetlić Twojego projektu na liście projektów Firebase, skontaktuj się z zespołem pomocy Firebase.
Ile projektów mogę mieć na 1 konto?
- Abonament Spark – Twój limit projektów jest ograniczony do niewielkiej liczby projektów (zwykle około 5–10).
- Abonament Blaze – Twój limit projektów na konto rozliczeniowe Cloud znacznie wzrasta, o ile tylko Twoje konto rozliczeniowe Cloud ma dobrą opinię.
Dla większości deweloperów limit projektów rzadko bywa problemem, ale w razie potrzeby możesz poprosić o zwiększenie limitu projektu.
Pamiętaj, że całkowite usunięcie projektu trwa 30 dni i wlicza się do limitu, aż zostanie całkowicie usunięte.
Ile aplikacji Firebase mogę mieć w projekcie Firebase?
Projekt Firebase jest kontenerem dla aplikacji Firebase na urządzenia Apple, z Androidem i w internecie. Firebase ogranicza łączną liczbę aplikacji Firebase w projekcie Firebase do 30.
Po tej liczbie wydajność zaczyna spadać (szczególnie w przypadku Google Analytics), a w przypadku większej liczby aplikacji niektóre funkcje usługi przestają działać. Jeśli jako dostawcę uwierzytelniania używasz Logowania przez Google, dla każdej aplikacji w Twoim projekcie tworzony jest bazowy identyfikator klienta OAuth 2.0. W jednym projekcie można utworzyć maksymalnie 30 identyfikatorów klienta.
Upewnij się, że wszystkie aplikacje Firebase w jednym projekcie Firebase są wersjami platformy tej samej aplikacji z punktu widzenia użytkownika. Jeśli na przykład tworzysz aplikację z oznaczeniami białych etykietami, każda niezależnie oznaczona etykietą powinna mieć własny projekt Firebase, ale wersje na Apple i Androida tej etykiety mogą znajdować się w tym samym projekcie. Bardziej szczegółowe wskazówki znajdziesz w naszych ogólnych sprawdzonych metodach konfigurowania projektów Firebase.
W rzadkich przypadkach, gdy Twój projekt wymaga więcej niż 30 aplikacji, możesz poprosić o zwiększenie limitu aplikacji. Aby 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 ją sprawdzić. Więcej informacji o zarządzaniu limitem znajdziesz w dokumentacji Google Cloud.
Co się stanie, jeśli otaguję projekt jako środowisko „produkcyjne”?
W konsoli Firebase możesz oznaczyć projekty Firebase typem środowiska jako środowisko produkcyjne lub nieokreślone (nieprodukcyjne).
Oznaczenie projektu jako typu środowiska nie ma wpływu na działanie projektu Firebase ani na jego funkcje. Tagowanie może jednak ułatwić Tobie i Twojemu zespołowi zarządzanie różnymi projektami Firebase w cyklu życia aplikacji.
Jeśli oznaczysz projekt jako środowisko produkcyjne, dodamy do niego w konsoli Firebase jasny tag Prod, przypominający, że wszelkie zmiany mogą wpłynąć na powiązane aplikacje produkcyjne. W przyszłości możemy dodać więcej funkcji i środków ochrony w projektach Firebase oznaczonych jako środowiska produkcyjne.
Aby zmienić typ środowiska projektu Firebase, kliknij settings Ustawienia projektu > Ogólne, a następnie 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 i kliknij odpowiednią 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 wymagania wstępne trzeba spełnić, aby połączyć Google Play / AdMob / Google Ads / BigQuery z projektem lub aplikacją Firebase?
- Aby można było połączyć swoje konto Google Play, będą Ci potrzebne:
- jedna z tych ról Firebase: Właściciel lub Administrator Firebase
oraz - Jeden z tych poziomów dostępu w Google Play: właściciel lub administrator
- jedna 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ć swoje konto AdWords, musisz być zarówno właścicielem projektu Firebase, jak i administratorem AdWords.
- Aby połączyć projekt BigQuery, musisz być właścicielem projektu Firebase.
Jakie informacje dotyczące open source muszę umieścić w aplikacji?
Na platformach Apple pod Firebase zawiera plik NOTICES, który zawiera odpowiednie wpisy. Pakiet Firebase Android SDK zawiera pomocnik Activity
do wyświetlania informacji o licencji.
Uprawnienia i dostęp do projektów Firebase
Jak przypisać członkowi projektu rolę, np. właściciela?
Aby zarządzać rolami przypisanymi do poszczególnych członków 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 umożliwia uproszczony sposób przypisywania ról członkom projektu na karcie Użytkownicy i uprawnienia w sekcji settings > Ustawienia projektu. W konsoli Firebase możesz przypisać dowolną z ról podstawowych (Właściciel, Edytujący, Wyświetlający), Role administratora i wyświetlającego Firebase lub dowolną z wstępnie zdefiniowanych ról kategorii produktów w Firebase.
- Konsola Google Cloud udostępnia rozbudowany 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 uczestnicy projektu są nazywani podmiotami zabezpieczeń.
Jeśli właściciel Twojego projektu nie może już wykonywać swoich zadań (na przykład osoba, która opuściła Twoją firmę), 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 jest częścią organizacji Google Cloud, może nie mieć właściciela. Jeśli nie możesz znaleźć właściciela projektu Firebase, skontaktuj się z osobą, która zarządza Twoją organizacją Google Cloud, i poproś o przypisanie właściciela projektu.
Jak znaleźć właściciela projektu Firebase?
Członków projektu i ich role możesz wyświetlić w tych miejscach:
- Jeśli masz dostęp do projektu w konsoli Firebase, możesz wyświetlić listę członków projektu, w tym właścicieli, na stronie Użytkownicy i uprawnienia w konsoli Firebase.
- Jeśli nie masz dostępu do projektu w konsoli Firebase, sprawdź, czy masz do niego dostęp w konsoli Google Cloud. Listę członków projektu, w tym właścicieli, możesz wyświetlić na stronie Uprawnienia w konsoli Google Cloud.
Jeśli właściciel Twojego projektu nie może już wykonywać swoich zadań (na przykład ta osoba opuściła Twoją firmę), 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 jest częścią organizacji Google Cloud, może nie mieć właściciela. Osoba zarządzająca organizacją w Google Cloud może wykonywać wiele czynności, które może wykonywać właściciel. Jednak aby wykonać kilka czynności specyficznych dla właściciela (takich jak przypisywanie ról czy zarządzanie usługami w Google Analytics), administrator musi przypisać sobie rolę rzeczywistego właściciela, która będzie mogła wykonywać te czynności. Jeśli nie możesz znaleźć właściciela projektu Firebase, skontaktuj się z osobą, która zarządza Twoją organizacją Google Cloud, i poproś o przypisanie właściciela projektu.
Dlaczego lub kiedy należy przypisać członkowi projektu rolę właściciela?
Aby umożliwić prawidłowe zarządzanie projektem Firebase, musi on mieć właściciela. Właściciel projektu to osoba, która może wykonywać kilka ważnych czynności administracyjnych (np. przypisywać role i zarządzać usługami Google Analytics), a zespół pomocy Firebase może realizować tylko żądania administracyjne przesłane przez zatwierdzonych właścicieli projektu.
Po skonfigurowaniu właścicieli projektu Firebase ważne jest, aby były one aktualne.
Jeśli projekt Firebase należy do organizacji Google Cloud, osoba zarządzająca organizacją w Google Cloud może wykonywać wiele czynności, które może wykonywać właściciel. Jednak w przypadku wielu zadań specyficznych dla właściciela (takich jak przypisywanie ról czy zarządzanie usługami Google Analytics) administrator może być zobowiązany do przypisania sobie rzeczywistej roli właściciela, która pozwala wykonać te zadania.
Wydaje mi się, że nie mam projektu Firebase, ale dotarł do mnie e-mail na temat projektu Firebase. Jak mogę uzyskać dostęp do tego projektu?
Otrzymany przez Ciebie e-mail powinien zawierać link do otwarcia projektu Firebase. Kliknięcie linku w e-mailu powinno otworzyć projekt w konsoli Firebase.
Jeśli nie możesz otworzyć projektu za pomocą linku, sprawdź, czy korzystasz z Firebase przy użyciu tego samego konta Google, na które został wysłany e-mail o projekcie. Za pomocą awatara konta w prawym górnym rogu konsoli możesz się zalogować i wylogować z konsoli Firebase.
Pamiętaj, że jeśli jesteś administratorem organizacji Google Cloud, możesz otrzymywać powiadomienia o zmianach w projektach Firebase wewnątrz organizacji. Możesz jednak nie mieć wystarczających uprawnień do otwarcia projektu Firebase. W takich przypadkach najprostszym rozwiązaniem jest przypisanie sobie roli rzeczywistego właściciela, aby otworzyć projekt i wykonać wymagane działania. Dowiedz się, dlaczego i kiedy przypisać rolę właściciela.
Platformy i platformy
Na stronach Rozwiązywanie problemów związanych z konkretną platformą oraz z najczęstszymi pytaniami znajdziesz przydatne wskazówki i odpowiedzi.
Konsola Firebase
W jakich przeglądarkach można uzyskać dostęp do konsoli Firebase?
Do konsoli Firebase można uzyskać dostęp z najnowszych wersji popularnych przeglądarek na komputerach, takich jak Chrome, Firefox, Safari i Edge. Przeglądarki mobilne nie są obecnie w pełni obsługiwane.
Mogę wczytać konsolę Firebase, ale dlaczego nie mogę znaleźć projektu Firebase lub uzyskać do niego dostępu?
To pytanie jest przeznaczone dla osób, u których występuje któryś z tych problemów:
- Konsola Firebase wyświetla 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 wpiszesz jego identyfikator lub nazwę.
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 dotyczących uprawnień, sprawdź te kwestie:
- Sprawdź, czy logujesz się w Firebase przy użyciu tego samego konta Google, które ma dostęp do projektu. Za pomocą awatara konta w prawym górnym rogu konsoli możesz się zalogować i wylogować z konsoli Firebase.
- 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ę, która zawiera uprawnienia związane 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ć projekt wyświetlany w konsoli Firebase. Skontaktuj się z osobą, która zarządza Twoją organizacją Google Cloud, i poproś o przypisanie Ci odpowiedniej roli umożliwiającej wyświetlanie projektu, na przykład roli przeglądarki.
Jeśli żaden z opisanych wyżej kroków rozwiązywania problemów nie pozwala Ci znaleźć projektu lub uzyskać do niego dostęp, skontaktuj się z zespołem pomocy Firebase.
Dlaczego konsola Firebase się nie wczytuje?
To pytanie zawiera informacje na temat tych 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 w przeglądarce.
Aby spróbować go rozwiązać, wykonaj te czynności:
- Sprawdź, czy w wierszu Konsola w panelu stanu Firebase występują ewentualne przerwy 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 program antywirusowy, serwer proxy, zaporę sieciową lub inne oprogramowanie.
- Spróbuj wczytać konsolę Firebase przy użyciu innej sieci lub urządzenia.
- Jeśli używasz Chrome, sprawdź, czy w konsoli narzędzi dla deweloperów nie występują błędy.
Jeśli żadne z powyższych rozwiązań nie rozwiąże problemu, skontaktuj się z zespołem pomocy Firebase.
Jak jest określany język konsoli Firebase?
Ustawienia języka konsoli Firebase zależą od języka wybranego w ustawieniach konta Google.
Aby zmienić język, zobacz Zmiana 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 korzystają z 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ć do niego innych użytkowników, konfigurować integracje (łączenie projektów z usługami takimi jak BigQuery czy Slack) oraz 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 projektu. Pamiętaj, że konsola Firebase obecnie nie ukrywa ani nie wyłącza elementów sterujących edycji interfejsu użytkownika przeglądających projekt, ale w przypadku użytkowników projektu z przypisaną rolą wyświetlającego te operacje zakończą się niepowodzeniem.
Firebase obsługuje też:
- Wstępnie zdefiniowane role Firebase – wybrane role Firebase, które dają bardziej szczegółową 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, aby dostosować zestaw uprawnień do konkretnych wymagań Twojej organizacji.
Ceny
Które produkty są płatne? Które z tych usług są bezpłatne?
Płatne usługi infrastruktury Firebase to Baza danych czasu rzeczywistego, Cloud Storage dla Firebase, Cloud Functions, Hosting, Laboratorium i uwierzytelnianie przez telefon. Oferujemy poziom bezpłatny dla wszystkich tych funkcji.
Firebase oferuje też wiele bezpłatnych usług: Analytics, Komunikacja w chmurze, Kompozytor powiadomień, Zdalna konfiguracja, Indeksowanie aplikacji, Linki dynamiczne i Zgłaszanie awarii. Korzystanie z tych usług podlega wyłącznie zasadom kontroli ruchu obowiązującym w tej usłudze (np. limitom, sprawiedliwemu dostępowi i innym zabezpieczeniom usług) we wszystkich abonamentach, w tym w naszym bezpłatnym abonamencie Spark. Poza tym wszystkie funkcje uwierzytelniania poza uwierzytelnianiem przez telefon są bezpłatne.
Czy w Firebase dostępne są 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łatnego okresu próbnego Google Cloud. Nowi użytkownicy Google Cloud i Firebase mogą skorzystać z 90-dniowego okresu próbnego, w ramach którego otrzymasz bezpłatne środki w wysokości 300 USD na rozliczenie usługi Google Cloud, aby poznać oraz ocenić usługi Google Cloud i Firebase.
W trakcie bezpłatnego okresu próbnego Google Cloud otrzymasz konto rozliczeniowe Cloud bezpłatnej wersji próbnej. Każdy projekt Firebase korzystający z tego konta rozliczeniowego w trakcie bezpłatnego okresu próbnego będzie objęty abonamentem Blaze.
Bez obaw. Skonfigurowanie bezpłatnego konta rozliczeniowego Cloud w wersji próbnej nie pozwala nam na obciążanie Cię opłatami. Nie pobierzemy żadnych opłat, dopóki wyraźnie nie włączysz płatności, przekształcając konto rozliczeniowe w bezpłatnej wersji próbnej w konto płatne. W dowolnym momencie okresu próbnego możesz przejść na płatne konto. Po przejściu na wyższą wersję możesz nadal wykorzystać pozostałe środki (w ciągu 90 dni).
Aby nadal używać projektu Firebase, po zakończeniu bezpłatnego okresu próbnego musisz przejść na niższą wersję abonamentu 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 plan Spark to świetne miejsce do bezpłatnego rozwijania aplikacji. Dzięki temu masz dostęp do wszystkich bezpłatnych funkcji Firebase (m.in. Analytics, narzędzia do tworzenia powiadomień czy Crashlytics) oraz dużych ilości funkcji naszej płatnej infrastruktury. Jeśli jednak przekroczysz w danym miesiącu kalendarzowym zasoby 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 produkcyjnych. Abonament Blaze umożliwia też dodanie do aplikacji płatnych funkcji Google Cloud. Zapłacisz tylko za zasoby, które wykorzystasz, co pozwala na skalowanie odpowiednio do zapotrzebowania. Staramy się, aby ceny naszych abonamentów Blaze były konkurencyjne względem wiodących w branży dostawców usług chmurowych.
Jak mogę monitorować wykorzystanie zasobów i płatności?
Wykorzystanie zasobów projektu możesz śledzić w konsoli Firebase w dowolnym z tych paneli:
- Ogólny panel Wykorzystanie i płatności na poziomie projektu
- Panel Użycie uwierzytelniania (szczególnie w przypadku instancji uwierzytelniania przez telefon)
- Panel Wykorzystanie Cloud Firestore
- Panel Wykorzystanie Cloud Functions
- Panel Wykorzystanie Cloud Storage
- Panel Wykorzystanie hostingu
- Panel Wykorzystanie Bazy danych czasu rzeczywistego
Co się stało z abonamentem Flame?
W styczniu 2020 r. abonament Flame (25 USD/miesiąc dodatkowego limitu) został usunięty jako opcja w przypadku nowych rejestracji. Obecni użytkownicy abonamentu otrzymali okres prolongaty na migrację swoich projektów poza abonament Flame.
W lutym 2022 r. pozostałe projekty objęte abonamentem Flame zostały przeniesione na niższą wersję abonamentu Spark.
W związku z powyższym,
- Istniejące projekty abonamentów Spark i Blaze oraz nowe projekty nie mogą już przejść na abonament Flame ani się na niego rejestrować.
- Jeśli istniejący projekt w ramach abonamentu Flame został przeniesiony do innego abonamentu, projekt nie może wrócić do abonamentu Flame.
- Projekty, które przeszły na niższy abonament Spark, można przejść 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 planu Flame? Przeczytaj niektóre dodatkowe najczęstsze pytania poniżej.
Chcesz poznać inne abonamenty dostępne w Firebase? Wejdź na naszą stronę z cennikiem Firebase. Jeśli chcesz przenieść istniejące projekty do innego abonamentu, możesz to zrobić w konsoli Firebase swojego projektu.
Dodatkowe najczęstsze pytania na temat wycofania abonamentu Flame
Mam projekt, proces lub model biznesowy, który opiera się na stałych kosztach Firebase. Co mam zrobić?
Zarejestruj się, aby korzystać z abonamentu Blaze i pamiętaj o ustawieniu alertów dotyczących budżetu.
Czy mogę otrzymać specjalne uprawnienia 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 lub zarejestrować się w nim.
Zmieniłem abonament Flame na inny abonament. Jak go przywrócić?
Przejście na abonament Flame nie jest już możliwe. Jeśli chcesz uzyskać dostęp do usług oferowanych w ramach abonamentu Flame, sprawdź, czy korzystasz z abonamentu Blaze, i rozważ skonfigurowanie alertów dotyczących budżetu w swoim projekcie.
Mój projekt został automatycznie przeniesiony na inny abonament w ramach wycofywania abonamentu Flame. Co mam zrobić?
Jeśli Twój projekt wymaga dodatkowego limitu niż ten dostępny w abonamencie Spark, musisz przejść na abonament Blaze.
Dlaczego abonament Flame zostaje wycofany?
Z biegiem lat zauważyliśmy spadek wykorzystania abonamentu Flame, a większość projektów, które go wykorzystują, nie w pełni wykorzystuje jego pełnego potencjału. Utrzymanie tego abonamentu jest zwykle nieopłacalne i uważamy, że możemy zapewnić wszystkim lepszą obsługę, jeśli zasoby zostaną przeniesione do innych inicjatyw Firebase.
Czym bezpłatne wykorzystanie w abonamencie Blaze różni się od wykorzystania bezpłatnego w abonamencie Spark?
Bezpłatne wykorzystanie w abonamencie 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 ramach abonamentu Blaze jest obliczane na poziomie konta rozliczeniowego Cloud, a nie na poziomie projektu. Obowiązują przy tym te limity:
- 2 mln wywołań miesięcznie
- 400 tys. GB-sekund/miesiąc
- 200 tys. CPU-sekund/miesiąc
- 5 GB wychodzącego ruchu sieciowego na miesiąc
W przypadku uwierzytelniania przez telefon bezpłatne wykorzystanie w ramach abonamentu Blaze jest obliczane co miesiąc.
W Laboratorium bezpłatne wykorzystanie w ramach abonamentu Blaze ma te limity:
- 30 minut na urządzeniu fizycznym dziennie.
- 60 minut na urządzeniu wirtualnym dziennie
Czy po przejściu z Spark na abonament Blaze resetowany jest limit bezpłatnego wykorzystania?
Abonament Blaze obejmuje bezpłatne wykorzystanie z abonamentu Spark. Po przejściu na abonament Blaze bezpłatne wykorzystanie danych nie jest resetowane.
Co to jest „jednoczesne połączenie z bazą danych”?
Połączenie jednoczesne jest równoważne z 1 urządzeniem mobilnym, kartą przeglądarki lub aplikacją serwerową połączonymi z bazą danych. Firebase narzuca sztywne limity liczby jednoczesnych połączeń z bazą danych aplikacji. Celem tych limitów jest ochrona zarówno Firebase, jak i naszych użytkowników przed nadużyciami.
Limit abonamentu Spark wynosi 100 i nie można go zwiększyć. Abonamenty Flame i Blaze mają limit 200 000 jednoczesnych połączeń na bazę danych.
Ten limit nie jest taki sam jak łączna liczba użytkowników Twojej aplikacji, ponieważ nie wszyscy użytkownicy łączą się naraz. Jeśli potrzebujesz więcej niż 200 000 jednoczesnych połączeń, przeczytaj o skalowaniu 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ę, ilość zasobów dostępnych dla Ciebie w ramach abonamentów Spark jest ograniczona. Oznacza to, że po przekroczeniu limitu dowolnego abonamentu aplikacja zostanie wyłączona, aby zapobiec dalszemu wykorzystaniu zasobów i dodatkowym opłatom.
Co się stanie, jeśli przekroczę limity jednoczesnych połączeń w ramach abonamentu Spark w Bazie danych czasu rzeczywistego?
Gdy aplikacja osiągnie limit równoczesności w abonamencie Spark, wszystkie 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ć u 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 mogą w nich być włączone usługi Firebase i Google Cloud. Ten sam projekt możesz uzyskać w konsoli Firebase lub w konsoli Google Cloud. Więcej szczegółów:
- Niektóre usługi Firebase, na przykład 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 powiększać.
- Wiele ustawień, w tym dane współpracowników i informacje rozliczeniowe, jest współużytkowanych przez Firebase i Google Cloud. Korzystanie z Firebase i Google Cloud jest rozliczane na tym samym rachunku.
Dodatkowo po przejściu na abonament Blaze możesz korzystać z dowolnej światowej klasy infrastruktury jako usługi oraz interfejsów API Google Cloud bezpośrednio w projekcie Firebase po standardowym cenniku Google Cloud. Możesz też eksportować dane z Google Cloud bezpośrednio do BigQuery do analizy. Więcej informacji znajdziesz w artykule Łączenie BigQuery z Firebase.
Używanie Google Cloud z Firebase przynosi liczne korzyści, które zwiększają bezpieczeństwo, zmniejszają czas oczekiwania i pozwalają zaoszczędzić czas (w porównaniu z innymi usługami w chmurze, które nie znajdują się w tym samym miejscu). Więcej informacji znajdziesz na stronie Google Cloud.
Co się stanie z moim projektem Firebase, jeśli dodam lub usunę konta rozliczeniowe dla tego projektu w konsoli Google Cloud?
Jeśli konto rozliczeniowe Cloud zostanie dodane do projektu w konsoli Google Cloud, ten sam projekt zostanie automatycznie uaktualniony do abonamentu Firebase Blaze, o ile ten projekt jest 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 przeniesiony na niższy abonament Firebase Spark.
Czy w dowolnym momencie 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ć subskrypcję. Pamiętaj, że nie zapewniamy proporcjonalnego zwrotu środków w przypadku przejścia na niższy pakiet lub anulowania subskrypcji. Oznacza to, że jeśli przejdziesz na niższą wersję lub anulujesz abonament przed końcem okresu rozliczeniowego, musisz zapłacić za pozostałą część miesiąca.
Jakiego rodzaju pomoc otrzymam?
Wszystkie aplikacje Firebase, w tym te korzystające z bezpłatnych abonamentów, mają wsparcie przez e-mail od pracowników Firebase w godzinach pracy w USA na obszarze Pacyfiku. Na wszystkich kontach dostępna jest nieograniczona pomoc w zakresie problemów z płatnościami i kontem, pytań technicznych (rozwiązywania problemów) i raportów na temat incydentów.
Czy w abonamencie Blaze mogę ograniczać wykorzystanie zasobów?
Nie, obecnie nie można ograniczyć wykorzystania abonamentu Blaze. Sprawdzamy opcje podnoszenia limitów wykorzystania abonamentu Blaze.
Użytkownicy Blaze mogą określić budżet dla swojego projektu lub konta i otrzymywać alerty, gdy ich wydatki zbliżą się do tych limitów. Dowiedz się, jak skonfigurować alerty dotyczące budżetu.
Czym są automatyczne kopie zapasowe? Czy oferujecie tworzenie kopii zapasowych co godzinę?
Automatyczne kopie zapasowe to zaawansowana funkcja dla klientów korzystających z abonamentu Blaze, która raz dziennie tworzy kopie zapasowe danych z Bazy danych czasu rzeczywistego Firebase i przesyła je do Google Cloud Storage.
Nie oferujemy godzinowych kopii zapasowych.
Czy oferujesz zniżki na oprogramowanie typu open source, non-profit lub edukacyjne?
Z naszego abonamentu Spark mogą korzystać osoby prywatne i organizacje, w tym organizacje non-profit, szkoły i projekty open source. Ponieważ te abonamenty obejmują już duże limity, nie oferujemy żadnych specjalnych rabatów ani abonamentów w przypadku projektów open source, non-profit ani edukacyjnych.
Czy oferujecie umowy dla przedsiębiorstw, ceny, pomoc lub dedykowany hosting infrastruktury?
Nasz abonament Blaze jest odpowiedni dla firm każdej wielkości, a nasza gwarancja jakości usług spełnia lub przekracza standardy branżowe dotyczące infrastruktury w chmurze. Jednak obecnie nie oferujemy korporacyjnych umów, cen ani pomocy. Nie oferujemy też dedykowanego hostingu infrastruktury (instalacji lokalnych) dla usług takich jak nasza Baza danych czasu rzeczywistego. Pracujemy nad dodaniem niektórych z tych funkcji.
Czy oferujecie ceny doraźne? Chcę płacić tylko za korzystanie z jednej lub dwóch funkcji.
W ramach abonamentu Blaze oferujemy doraźne ceny, w ramach których płacisz tylko za używane funkcje.
Jak płatne abonamenty Firebase współdziałają z Google Ads? Czy w ramach płatnych abonamentów dostępne są bezpłatne środki na reklamę?
Abonamenty Firebase są niezależne od Google Ads, więc nie otrzymasz bezpłatnych środków na reklamę. Jako deweloper Firebase możesz „połączyć” swoje konto Google Ads z Firebase, aby ułatwić śledzenie konwersji.
Wszystkimi kampaniami reklamowymi zarządzasz bezpośrednio w Google Ads, a płatnościami za Google Ads – w konsoli Google Ads.
Cennik Cloud Functions
Dlaczego potrzebuję konta rozliczeniowego, aby korzystać z Cloud Functions dla Firebase?
Cloud Functions dla Firebase wymaga niektórych płatnych usług Google. Wdrożenia nowych funkcji z interfejsem wiersza poleceń Firebase w wersji 11.2.0 lub nowszej bazują na Cloud Build i Artifact Registry. Wdrożenia w starszych wersjach korzystają z Cloud Build w ten sam sposób, ale do przechowywania danych używają Container Registry i Cloud Storage, a nie Artifact Registry. Korzystanie z tych usług będzie dodatkowo płatne.
Miejsce na dane na potrzeby interfejsu wiersza poleceń Firebase w wersji 11.2.0 lub nowszej
Artifact Registry udostępnia kontenery, w których działają funkcje. Pierwsze 500 MB danych w Artifact Registry jest dostępne bezpłatnie, więc pierwsze wdrożenia funkcji mogą nie wiązać się z żadnymi opłatami. Po przekroczeniu tego progu każdy dodatkowy gigabajt miejsca na dane kosztuje 0, 10 USD miesięcznie.
Miejsce na dane na potrzeby interfejsu wiersza poleceń Firebase w wersji 11.1.x i starszych
W przypadku funkcji wdrożonych w starszych wersjach Container Registry udostępnia kontenery, w których działają funkcje. Opłaty będą naliczane za każdy kontener wymagany do wdrożenia funkcji. Możesz zauważyć niewielkie opłaty za każdy przechowywany pojemnik, np.1 GB miejsca na dane jest opłacone 0,026 USD miesięcznie.
Aby dowiedzieć się więcej o tym, jak może się zmienić Twój rachunek, przeczytaj te artykuły
- Cennik Cloud Functions: obecny poziom bezpłatny pozostaje bez zmian.
- Cennik Cloud Build: Cloud Build udostępnia poziom bezpłatny.
- Cennik Artifact Registry.
- Cennik Container Registry
Czy Cloud Functions dla Firebase nadal jest dostępne bezpłatnie?
Tak. W abonamencie Blaze Cloud Functions udostępnia bezpłatny poziom wywołań, czasu obliczeniowego i ruchu internetowego. Każdego miesiąca bezpłatnie udostępniamy bezpłatnie pierwsze 2 000 000 wywołań, 400 000 GB-s, 200 000 CPU i 5 GB ruchu wychodzącego z internetu. Opłaty będą naliczane tylko za wykorzystanie powyżej tych progów.
Po zdobyciu pierwszych 500 MB bezpłatnego miejsca na dane każda operacja wdrożenia wiąże się z opłatami na małą skalę za miejsce na dane wykorzystywane przez kontener funkcji. Jeśli Twój proces programowania wymaga wdrażania funkcji do testowania, możesz jeszcze bardziej zminimalizować koszty, korzystając z Pakietu emulatorów lokalnych Firebase.
Zobacz abonamenty Firebase i przykładowe scenariusze Cloud Functions.
Czy Firebase planuje zwiększyć limity dotyczące Cloud Functions dla Firebase?
Nie. Nie ma 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 kompilacji, który wynosi 120 minut, będziesz płacić zgodnie z warunkami abonamentu Blaze. Zobacz Limity.
Czy mogę otrzymać 300 USD do wykorzystania na Google Cloud?
Tak, możesz utworzyć konto rozliczeniowe Cloud w konsoli Google Cloud, aby otrzymać środki w wysokości 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 Twój projekt mógł działać po wyczerpaniu środków w wysokości 300 USD.
Chcę dowiedzieć się więcej o Firebase w ramach ćwiczenia z programowania. Czy możesz podać mi tymczasowe konto rozliczeniowe?
Nie, nie. Do programowania możesz używać emulatora Firebase bez konta rozliczeniowego Cloud. Możesz też poprosić o skorzystanie z bezpłatnej wersji próbnej Google Cloud. Jeśli z powodu tej zmiany nadal masz problemy z opłaceniem rachunku, skontaktuj się z zespołem pomocy Firebase.
Martwię się, że naliczę duży rachunek.
W konsoli Google Cloud możesz skonfigurować alerty dotyczące budżetu, aby kontrolować koszty. Możesz też ustawić limity liczby płatnych instancji utworzonych dla każdej funkcji. Omówienie kosztów w typowych scenariuszach znajdziesz na przykładach w cenniku 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. Ponieważ rozszerzenia korzystają z Cloud Functions, są one objęte takimi samymi opłatami co inne funkcje.
Aby używać rozszerzeń, musisz przejść na abonament Blaze. Oprócz wszelkich opłat związanych z korzystaniem z usług Firebase obciążymy Cię niewielką kwotą (zwykle około 0,01 USD miesięcznieza zasoby Firebase wymagane przez każde zainstalowane rozszerzenie (nawet jeśli nie są one używane).
Cennik Cloud Storage dla Firebase
Jak przewidzieć, ile zostaną naliczone za operacje przesyłania i pobierania?
Wejdź na stronę cennika Firebase i skorzystaj z kalkulatora abonamentu Blaze. Kalkulator zawiera listę wszystkich typów wykorzystania Cloud Storage dla Firebase.
Za pomocą suwaków wpisz oczekiwane wykorzystanie zasobnika na dane. Kalkulator oszacuje Twój miesięczny rachunek.
Co się stanie, jeśli przekroczę limity przesyłania, pobierania lub miejsca na dane w ramach abonamentu Spark w Cloud Storage dla Firebase?
Gdy przekroczysz limity Cloud Storage w projekcie w abonamencie Spark, wynik zależy od typu przekroczenia limitu:
- Jeśli przekroczysz limit przechowywanego miejsca na dane, nie będziesz mieć możliwości przechowywania żadnych danych w tym 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 pobrać więcej danych aż do następnego dnia (od północy czasu pacyficznego w USA), chyba że przejdziesz na abonament z mniej restrykcyjnymi limitami lub bez żadnych limitów.
- Jeśli przekroczysz limit operacji przesyłania lub pobierania, Twoja aplikacja nie będzie mogła przesyłać ani pobierać kolejnych danych aż do następnego dnia (od północy czasu pacyficznego w USA), chyba że przejdziesz na abonament z mniej restrykcyjnymi limitami lub bez żadnych limitów.
Prywatność
Gdzie znajdę informacje o prywatności i bezpieczeństwie w Firebase?
Wejdź na stronę Prywatność i bezpieczeństwo w Firebase.
Czy pakiety SDK Firebase rejestrują informacje o użytkowaniu/diagnostyce poza Analytics?
Tak. Obecnie ta funkcja jest dostępna tylko na urządzeniach z iOS, ale w przyszłości może się to zmienić. Pakiet SDK platform Apple dla Firebase domyślnie zawiera platformę FirebaseCoreDiagnostics
. Ta platforma jest wykorzystywana przez Firebase do zbierania informacji o użyciu i danych diagnostycznych pakietu SDK, które pomagają priorytetowo traktować przyszłe ulepszenia usług. Funkcja FirebaseCoreDiagnostics
jest opcjonalna, więc jeśli chcesz zrezygnować z wysyłania logów diagnostycznych Firebase, możesz odłączyć bibliotekę od aplikacji. Całość źródła, w tym zarejestrowane wartości, możesz przeglądać na GitHub
Testy A/B
Testy A/B: ile eksperymentów mogę utworzyć i przeprowadzić?
Możesz utworzyć maksymalnie 300 eksperymentów na projekt, co może się składać z maksymalnie 24 uruchomionych eksperymentów – pozostałe jako wersje robocze lub zakończone.
Testy A/B: dlaczego po odłączeniu i ponownym połączeniu projektu z Google Analytics nie mogę wyświetlać 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 projekt ponownie z usługą w Google Analytics, która była połączona podczas tworzenia eksperymentu.
Testy A/B: dlaczego podczas tworzenia eksperymentu w Zdalnej konfiguracji pojawia się 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ługi Google Analytics nie są połączone, sprawdź, czy strumień Analytics istnieje dla wszystkich aplikacji w Twoim projekcie. Aby można było 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 z Google Analytics w konsoli Firebase, do której można uzyskać dostęp w konsoli Firebase po kliknięciu 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, które nie mają powiązanego strumienia Google Analytics, możesz dodać strumień Google Analytics za pomocą jednej z tych metod:
- Usuń i ponownie dodaj w konsoli Firebase wszystkie aplikacje, które nie mają aktywnego strumienia.
- W konsoli Google Analytics wybierz Administracja, kliknij Strumienie danych, a następnie kliknij Dodaj strumień, dodaj brakujące szczegóły aplikacji i kliknij Zarejestruj aplikację.
-
Jeśli brakuje Ci kilku strumieni danych z aplikacji, odłączenie i ponowne połączenie usługi w Google Analytics to najszybszy i najskuteczniejszy sposób, by je utworzyć:
- W sekcji settings Ustawienia projektu kliknij Integracje.
- Na karcie Google Analytics kliknij Zarządzaj, aby uzyskać dostęp do ustawień Firebase i Google Analytics.
- Zanotuj identyfikator usługi w Google Analytics i połączone konto Google Analytics.
- Kliknij more_vert Więcej i wybierz Odłącz Analytics od tego projektu.
-
Zapoznaj się z wyświetlonym ostrzeżeniem (nie martw się – w następnym kroku połączysz ponownie tę samą usługę), a potem kliknij Odłącz Google Analytics.
Po zakończeniu odłączenia przekierujemy Cię na stronę 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 istniejące mapowania strumienia dla każdej aplikacji, a dla aplikacji, które nie mają strumienia, zostanie utworzony strumień. - Kliknij Włącz Google Analytics, aby ponownie połączyć usługę.
- Kliknij Zakończ.
Jeśli po wykonaniu tych czynności nadal pojawia się błąd tworzenia testów A/B za pomocą Zdalnej konfiguracji, skontaktuj się z zespołem pomocy Firebase.
AdMob
AdMob: czy mogę połączyć z Firebase aplikacje dla systemu Windows?
Nie, aplikacje dla systemu Windows nie są obecnie obsługiwane.
AdMob: dlaczego nie mogę połączyć 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 lub uprawnienia muszę mieć, aby połączyć aplikację Firebase z aplikacją AdMob?
Aby utworzyć połączenie, potrzebujesz tych uprawnień:
- AdMob: musisz być administratorem AdMob.
- Firebase: musisz mieć uprawnienie
firebase.links.create
, które ma rolę Właściciel lub rolę Administrator Firebase. - Google Analytics: w usłudze powiązanej z projektem Firebase musisz mieć rolę „Edytowanie” lub „Zarządzanie użytkownikami”. Więcej informacji
AdMob: czy wielu użytkowników na tym samym koncie AdMob może łą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 użytkownikiem, który może tworzyć nowe połączenia między aplikacjami AdMob a aplikacjami Firebase.
AdMob: jakich pakietów SDK należy używać w AdMob?
Aby korzystać z AdMob, zawsze używaj pakietu SDK do reklam mobilnych Google w sposób opisany w tych najczęstszych pytaniach. Dodatkowo, opcjonalnie, jeśli chcesz zbierać w AdMob dane o użytkownikach, dodaj do swojej aplikacji pakiet SDK Firebase dla Google Analytics.
- W przypadku projektów iOS:
Zaimportuj pakiet SDK do reklam mobilnych Google, postępując zgodnie z instrukcjami podanymi w dokumentacji AdMob na iOS. - W przypadku projektów na Androida:
Dodaj zależność z pakietem SDK do reklam mobilnych Google do plikubuild.gradle
:
implementation 'com.google.android.gms:play-services-ads:23.2.0'
- W przypadku projektów w C++ i projektów Unity: postępuj zgodnie z instrukcjami w odpowiedniej dokumentacji.
Analityka
Analytics: dlaczego zalecamy korzystanie z Google Analytics w przypadku usług Firebase?
Google Analytics to bezpłatne rozwiązanie analityczne bez ograniczeń, które współpracuje z funkcjami Firebase, aby zapewniać zaawansowane statystyki. Umożliwia wyświetlanie logó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 funkcje kierowania na odbiorców m.in. w Zdalnej konfiguracji i personalizacji Zdalnej konfiguracji.
Google Analytics to warstwa analizy w konsoli Firebase, która dostarcza bardziej przydatnych statystyk dotyczących tworzenia aplikacji wysokiej jakości, powiększania grona użytkowników i zwiększania przychodów.
Aby rozpocząć, zapoznaj się z dokumentacją.
Analytics: jak mogę kontrolować sposób udostępniania moich danych Analytics innym usługom Firebase?
Domyślnie Twoje dane Google Analytics są używane do ulepszania innych funkcji Firebase i Google. Sposób udostępniania danych Google Analytics możesz w każdej chwili określić w ustawieniach projektu. Dowiedz się więcej o ustawieniach udostępniania danych.
Analytics: jak zaktualizować ustawienia usługi w Analytics?
Na stronie Administracja w usłudze w Google Analytics możesz zmieniać jej ustawienia, m.in.:
- Ustawienia udostępniania danych
- ustawienia przechowywania danych,
- ustawienia strefy czasowej i waluty.
Aby zaktualizować ustawienia usługi:
- W konsoli Firebase kliknij settings > Ustawienia projektu.
- Otwórz kartę Integracje, a następnie na karcie Google Analytics kliknij Zarządzaj lub Wyświetl połączenie.
- Kliknij link do swojego konta Google Analytics, aby otworzyć ustawienia konta i usługi.
Analytics w aplikacji na iOS: czy mogę zainstalować Analytics bez atrybucji reklam i zbierania danych 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 r.?
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 w konsoli Firebase nie widzę żadnych danych Analytics?
Dane Analytics są przechowywane 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 pojawi się pusty panel Analytics. Pamiętaj, że dane nadal znajdują się w wcześniej połączonej usłudze, więc zawsze możesz ją ponownie połączyć z Firebase i wyświetlać dane Analytics w konsoli Firebase.
Połączenie zupełnie nowego konta Google Analytics (a tym samym nowej usługi w Google Analytics) z projektem Firebase spowoduje utworzenie w konsoli Firebase pustego panelu Analytics. 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 moja usługa w Analytics i jej dane zostały usunięte, czy można je odzyskać?
Nie. Jeśli Twoja usługa została usunięta, nie można jej przywrócić ani odzyskać wcześniej zebranych w niej danych Analytics.
Jeśli chcesz ponownie zacząć korzystać z Google Analytics, możesz połączyć nową lub dotychczasową usługę ze swoim projektem Firebase. Możesz to połączyć 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 po usunięciu usługi w Analytics 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ć nową lub dotychczasową usługę ze swoim projektem Firebase. Możesz to połączyć 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 w Analytics wpłynie na usługi Firebase lub zintegrowane usługi Google?
Kilka usług Firebase wymaga integracji z Google Analytics. Jeśli Twoja usługa w Analytics i jej dane zostaną usunięte, będziesz korzystać z tych usług:
- Crashlytics – nie będziesz już widzieć użytkowników, u których nie wystąpiła awaria, logów menu nawigacyjnego ani alertów o szybkości.
- Komunikacja w chmurze i wysyłanie wiadomości w aplikacji – nie będzie już można używać kierowania, danych kampanii, segmentacji odbiorców ani etykiet analitycznych.
- Zdalna konfiguracja – nie możesz już używać docelowych konfiguracji ani personalizacji.
- Testy A/B – nie możesz już korzystać z testów A/B, ponieważ pomiary w eksperymencie są dostarczane przez Google Analytics.
- Linki dynamiczne – działanie wszystkich funkcji, które korzystają z danych Google Analytics, zostanie zakłócone.
Wpłynie to też na te integracje:
- Nie możesz już eksportować danych Analytics do BigQuery.
- Nie możesz już korzystać z integracji z Google Ads ani integracji z Google AdMob.
Analytics: jak podzielić użytkowników, którzy nie spełniają pewnych kryteriów?
Możesz zmienić problem, stosując „wykluczające kierowanie” na tych użytkowników. Zmień na przykład problem na „Nie wyświetlaj reklam osobom, które coś kupiły”, i utwórz listę odbiorców zawierającą tych użytkowników.
Analytics: czy listy odbiorców lub zdarzenia zdefiniowane w interfejsie Google Analytics są też dostępne w konsoli Firebase?
Twoje grupy odbiorców i właściwości użytkowników zostaną zsynchronizowane. W przypadku niektórych funkcji musisz używać interfejsu Google Analytics (np. segmentacji i ścieżek zamkniętych). Dostęp do interfejsu Google Analytics możesz uzyskać bezpośrednio za pomocą precyzyjnych linków w konsoli Firebase.
Wszystkie zmiany wprowadzone w konsoli Firebase możesz też wprowadzić w Google Analytics, a zmiany te zostaną odzwierciedlone w Firebase.
Uwierzytelnianie
Uwierzytelnianie Firebase: w których regionach obsługiwane jest uwierzytelnianie przez telefon?
Uwierzytelnianie Firebase obsługuje weryfikację numeru telefonu globalnie, ale nie wszystkie sieci skutecznie dostarczają wiadomości weryfikacyjne. Poniższe regiony mają dobre współczynniki dostarczania i powinny dobrze działać w przypadku uwierzytelniania przez telefon. W określonych przypadkach niektórzy przewoźnicy są niedostępni w danym regionie z powodu niskiego wskaźnika sukcesu z dostawą.
Region | Kod |
---|---|
n.e. | Andora |
AE | Zjednoczone Emiraty Arabskie |
AF | Afganistan |
R | 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 |
BM | Bermudy |
BN | Brunei |
BO | Boliwia |
BR | Brazylia |
BS | Bahamy |
BT | Bhutan |
Czarno-biały | Botswana |
AUTOR | 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 |
CK | Wyspy Cooka |
Lista zmian | Chile |
CM | Kamerun |
kolumbij | Kolumbia |
CR | Kostaryka |
CV, | Republika Zielonego Przylądka |
CW | Curaçao |
CY | Cypr |
CZ | Czechy |
DE | Niemcy |
DJ | Dżibuti |
DK | Dania |
czat | Dominika |
TAK | Dominikana |
DZ | Algieria |
EC | Ekwador |
EG | Egipt |
ES | Hiszpania |
DO | Etiopia |
FI | Finlandia |
FJ | Fidżi |
KO | Falklandy (Malwiny) |
radio | Mikronezja |
WZ | Wyspy Owcze |
FR | Francja |
OD | Gabon |
GB | Wielka Brytania |
RB | Grenada |
GE | Gruzja |
BZ | Gujana Francuska |
G | Guernsey |
GZ | Ghana |
IG | Gibraltar |
GGL | Grenlandia |
GM | Gambia |
RM | Gwadelupa |
GQ | Gwinea Równikowa |
WG | Grecja |
BZ | Gwatemala |
GY | Gujana |
HK | Hongkong, Specjalny Region Administracyjny, Chiny |
HN | Honduras |
HR | Chorwacja |
PR | Haiti |
jednostka główna | Węgry |
Identyfikator | Indonezja |
IE | Irlandia |
IL | Izrael |
IM | Wyspa Man |
IN | Indie |
Indywidualny test kwalifikacyjny | Irak |
IT | Włochy |
JE | Jersey |
JM | Jamajka |
JO | Jordania |
JP | Japonia |
KS | Kenia |
Graf wiedzy | Kirgistan |
KH | Kambodża |
km | Komory |
KR | 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 |
LI | Liechtenstein |
LK | Sri Lanka |
LS | Lesotho |
LT | Litwa |
LU | Luksemburg |
LV | Łotwa |
LI | Libia |
Massachusetts | Maroko |
MD | Mołdawia |
Bliski Wschód | Czarnogóra |
MK | Saint-Martin (część francuska) |
Magazyn | Madagaskar |
MK | Macedonia |
MM | Mjanma |
Min. | Mongolia |
Missouri | 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 |
NPW | 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 |
WD | Portoryko |
PS | Terytorium Palestyńskie |
PT | Portugalia |
PY | Paragwaj |
Kontrola jakości | Katar |
OD | Reunion |
RO | Rumunia |
RS | Serbia |
RU | Rosja |
RW | Rwanda |
STRZ | Arabia Saudyjska |
SK | 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 |
GR | 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 |
Francja | 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 mogę zapobiec nadużywaniu SMS-ów podczas uwierzytelniania przez telefon?
Aby chronić swój projekt przed zawyżaniem ruchu SMS i nadużywaniem interfejsów API, wykonaj te czynności:
Rozważ skonfigurowanie zasad dotyczących regionów SMS-ów
Sprawdzanie regionalnego wykorzystania SMS-ów
Poszukaj regionów, w których wysyłana jest bardzo duża liczba SMS-ów i bardzo mała liczba zweryfikowanych SMS-ów (lub zero). Stosunek liczby zweryfikowanych/wysłanych to Twój wskaźnik sukcesu. Prawidłowy wskaźnik sukcesu mieści się zwykle w zakresie 70–85%, ponieważ SMS nie jest gwarantowanym protokołem dostarczania, a w niektórych regionach mogą dochodzić do nadużyć. Wskaźnik sukcesu poniżej 50% oznacza, że wysłano wiele SMS-ów, ale mało udanych logowań. Jest to częsty wskaźnik nieuczciwych działań i zwiększania ruchu przez SMS-y.
Za pomocą zasad dotyczących regionów SMS-ów możesz odrzucać SMS-y w niektórych regionach, w których SMS-y są mało skuteczne, lub zezwolić na rozpowszechnianie tylko w niektórych regionach, jeśli Twoja aplikacja jest przeznaczona do dystrybucji tylko na określonych rynkach.
Ogranicz autoryzowane domeny uwierzytelniania
Do zarządzania autoryzowanymi domenami używaj panelu ustawień uwierzytelniania. Domena localhost
jest domyślnie dodawana do zatwierdzonych domen uwierzytelniania, aby uprościć programowanie. Rozważ usunięcie usługi localhost
z autoryzowanych domen w projekcie produkcyjnym, aby uniemożliwić nieuczciwym podmiotom uruchamianie kodu na ich localhost
w celu uzyskania dostępu do Twojego projektu produkcyjnego.
Włącz i wymuszaj Sprawdzanie aplikacji
Włącz Sprawdzanie aplikacji, aby chronić projekt przed nadużyciami interfejsów API, potwierdzają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 na platformie Identity Platform.
Pamiętaj, że w konsoli Firebase musisz wymusić sprawdzanie aplikacji pod kątem uwierzytelniania. Zanim to wymuszasz, rozważ monitorowanie ruchu. Sprawdź też dokładnie, czy Twoja lista zatwierdzonych witryn reCAPTCHA Enterprise reCAPTCHA Enterprise zawiera tylko Twoje witryny produkcyjne i czy lista aplikacji zarejestrowanych w Twoim projekcie w Sprawdzaniu aplikacji jest prawidłowa.
Pamiętaj, że Sprawdzanie aplikacji pomaga chronić się przed zautomatyzowanymi atakami, potwierdzając, że wywołanie pochodzi z jednej z Twoich zarejestrowanych aplikacji. Nie blokuje użytkownikom możliwości korzystania z Twojej aplikacji w niezamierzony sposób (np. przez rozpoczęcie, a potem niezakończenie procesu logowania w celu wygenerowania SMS-a).
Uwierzytelnianie Firebase: czy numery telefonów są przenoszone do nowego operatora, który obsługuje uwierzytelnianie przez telefon?
Obecnie numery przenoszone między operatorami powodują, że użytkownicy nie mogą dostarczyć żadnych SMS-ów. Nie ma sposobu obejścia tego problemu, a Firebase pracuje nad jego rozwiązaniem.
Uwierzytelnianie Firebase: dlaczego w mojej aplikacji na Androida pojawia się ten błąd:
Google sign in failed
?
Google sign in failed
Jeśli pojawia się ten błąd, wykonaj czynności opisane w odpowiedziach na najczęstsze pytania:
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 przez Google jest prawidłowo włączone jako dostawca uwierzytelniania:
W konsoli Firebase otwórz sekcję Uwierzytelnianie.
Na karcie Metoda logowania wyłącz i ponownie włącz metodę logowania przez Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google, wyłącz ją i kliknij Zapisz.
Otwórz ponownie metodę logowania Google, włącz ją i kliknij Zapisz.
Upewnij się, że Twoja aplikacja używa aktualnego pliku konfiguracji Firebase (
google-services.json
).
Pobierz plik konfiguracyjny aplikacji.Sprawdź, czy błąd nadal występuje. Jeśli wszystko wiesz, przejdź do kolejnego kroku rozwiązywania problemów.
Upewnij się, że są obecne wymagane podstawowe klienty OAuth 2.0.
Na stronie Dane logowania w konsoli Google Cloud znajdź sekcję Identyfikatory klienta OAuth 2.0.
Jeśli klienty OAuth 2.0 nie są widoczne (a wszystkie powyższe kroki rozwiązywania problemów zostały wykonane), skontaktuj się z zespołem pomocy.
Uwierzytelnianie Firebase: dlaczego w mojej aplikacji platformy Apple pojawia się ten błąd:
You must specify <clientID> in <GIDConfiguration>
?
You must specify <clientID> in <GIDConfiguration>
Jeśli pojawia się ten błąd, wykonaj czynności opisane w odpowiedziach na najczęstsze pytania:
You must specify |clientID| in |GIDConfiguration|
Sprawdź, czy logowanie przez Google jest prawidłowo włączone jako dostawca uwierzytelniania:
W konsoli Firebase otwórz sekcję Uwierzytelnianie.
Na karcie Metoda logowania wyłącz i ponownie włącz metodę logowania przez Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google, wyłącz ją i kliknij Zapisz.
Otwórz ponownie metodę logowania Google, włącz ją i kliknij Zapisz.
Upewnij się, że Twoja aplikacja używa aktualnego pliku konfiguracji Firebase (
GoogleService-Info.plist
).
Pobierz plik konfiguracyjny aplikacji.Sprawdź, czy błąd nadal występuje. Jeśli wszystko wiesz, przejdź do kolejnego kroku rozwiązywania problemów.
Upewnij się, że są obecne wymagane podstawowe klienty OAuth 2.0.
Na stronie Dane logowania w konsoli Google Cloud znajdź sekcję Identyfikatory klienta OAuth 2.0.
Jeśli klienty OAuth 2.0 nie są widoczne (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 pojawia się ten błąd, wykonaj czynności opisane w odpowiedziach na najczęstsze pytania:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Sprawdź, czy logowanie przez Google jest prawidłowo włączone jako dostawca uwierzytelniania:
W konsoli Firebase otwórz sekcję Uwierzytelnianie.
Na karcie Metoda logowania wyłącz i ponownie włącz metodę logowania przez Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google, wyłącz ją i kliknij Zapisz.
Otwórz ponownie metodę logowania Google, włącz ją i kliknij Zapisz.
Upewnij się też, że w sekcji Uwierzytelnianie w konfiguracji dostawcy logowania Google identyfikator i obiekt tajny klienta OAuth są zgodne z klientem internetowym wyświetlanym na stronie Dane logowania konsoli Google Cloud (patrz sekcja Identyfikatory klienta OAuth 2.0).
Uwierzytelnianie Firebase: dlaczego w mojej aplikacji internetowej podczas logowania się z przekierowaniami kończy się 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 pojawia się ten błąd, wykonaj czynności opisane w odpowiedziach na najczęstsze pytania:
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
Najprawdopodobniej przyczyną tego błędu jest to, że domena przekierowania nie jest wymieniona jako autoryzowana domena 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 Twojego 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 Firebase Authentication JS korzysta z klucza interfejsu API Twojego projektu Firebase oznaczonego etykietą Browser key
, który za pomocą tego klucza sprawdza, 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 Authentication:
Jeśli do logowania użytkowników za pomocą pakietu SDK uwierzytelniania JS używasz pomocy udostępnianej przez Hosting, Firebase automatycznie pozyskuje klucz interfejsu API wraz z pozostałą częścią konfiguracji Firebase za każdym razem, gdy wdrażasz ją w Hostingu Firebase. Sprawdź, czy usługa
authDomain
w aplikacji internetowejfirebaseConfig
jest prawidłowo skonfigurowana tak, aby korzystała z jednej z domen dla tej witryny w Hostingu. Możesz to sprawdzić, przechodząc na stronęhttps://authDomain__/firebase/init.json
i sprawdzając, czyprojectId
jest zgodny z adresemfirebaseConfig
.Jeśli samodzielnie hostujesz kod logowania, możesz użyć pliku
__/firebase/init.json
, aby udostępnić konfigurację Firebase własnemu asystentowi przekierowania do pakietu SDK uwierzytelniania JS. 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 znajdują się wszystkie klucze interfejsu API związane z Twoim projektem.
Jeśli dokument
Browser key
nie został usunięty, sprawdź te kwestie:Sprawdź, czy interfejs Firebase Authentication API jest na liście interfejsów API, do których dostęp jest dozwolony dla klucza (dowiedz się więcej o ograniczeniach interfejsów API dotyczących kluczy 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 popraw klucz w pliku, a następnie wdróż aplikację ponownie.Jeśli obiekt
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ą. Spowoduje to automatyczne utworzenie klucza interfejsu API, który zobaczysz w sekcji Konfiguracja i konfiguracja pakietu SDK Twojej aplikacji internetowej.
Pamiętaj, że w konsoli Google Cloud nowy klucz interfejsu API nie będzie nazywał się
Browser key
– będzie nosić taką samą nazwę jak pseudonim Twojej aplikacji internetowej Firebase. Gdy zdecydujesz się dodać ograniczenia interfejsów 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:
Jeśli korzystasz z zarezerwowanych adresów URL w Hostingu, wdróż ponownie aplikację w Firebase, aby mogła automatycznie uzyskiwać nowy klucz interfejsu API wraz z pozostałą częścią konfiguracji Firebase.
Jeśli samodzielnie hostujesz kod logowania, 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 kliknij Utwórz dane logowania > Identyfikator klienta OAuth.
Jeśli pojawi się prośba o skonfigurowanie ekranu akceptacji, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, a potem postępuj zgodnie z instrukcjami podanymi w tych najczęstszych pytaniach.
Utwórz klienta internetowego OAuth:
Jako Typ aplikacji wybierz Aplikacja internetowa.
W polu 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 te informacje:
https://PROJECT_ID.firebaseapp.com/__/auth/handler
https://PROJECT_ID.web.app/__/auth/handler
Zapisz klienta OAuth.
Skopiuj do schowka nowy identyfikator klienta OAuth i nowy tajny klucz klienta.
W konsoli Firebase otwórz sekcję Uwierzytelnianie.
Na karcie Metoda logowania otwórz dostawcę logowania przez Google, a następnie wklej identyfikator klienta oraz obiekt tajny serwera WWW właśnie utworzone i skopiowane z konsoli Google Cloud. Kliknij Zapisz.
Uwierzytelnianie Firebase: jak jest określany %APP_NAME%
w przypadku szablonu e-maila z potwierdzeniem, który może zostać wysłany do użytkownika podczas rejestracji za pomocą adresu e-mail i hasła?
Przed grudniem 2022 r. pole %APP_NAME%
w szablonie e-maila było wypełniane nazwą marki OAuth, która była udostępniana automatycznie za każdym razem, gdy aplikacja na Androida była zarejestrowana w projekcie Firebase. Ponieważ marka OAuth jest obsługiwana tylko wtedy, gdy włączone jest logowanie przez Google, sposób określania %APP_NAME%
wygląda tak:
Jeśli nazwa marki OAuth jest dostępna, nazwa
%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,
%APP_NAME%
w szablonie e-maila określamy 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
oraz zwykle identyfikatorem projektu Firebase).W przypadku aplikacji mobilnych:
Jeśli w żądaniu znajduje się nazwa pakietu na Androida lub identyfikator pakietu na iOS,
%APP_NAME%
będzie odpowiednio nazwą aplikacji używaną 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 domyślnej nazwy witryny Hostingu Firebase się nie uda, ostatnią opcją zastępczą będzie użycie identyfikatora projektu Firebase jako elementu
%APP_NAME%
.
Cloud Functions
Obsługa środowiska wykonawczego Cloud Functions
Jak uaktualnić środowisko Node.js do najnowszej obsługiwanej wersji?
- Sprawdź, czy korzystasz z abonamentu Blaze.
- Upewnij się, że używasz najnowszej wersji interfejsu wiersza poleceń Firebase.
- Zaktualizuj pole
engines
w sekcjipackage.json
funkcji. - Możesz też przetestować zmiany, korzystając z Pakietu emulatorów lokalnych Firebase.
- Wdróż ponownie wszystkie funkcje.
Jak sprawdzić, czy funkcje zostały wdrożone 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ą na mnie wpływać?
Tak. Ponieważ rozszerzenia korzystają z Cloud Functions, musisz zaktualizować środowisko wykonawcze rozszerzeń zgodnie z tą samą osią czasu co Cloud Functions.
Zalecamy okresowe aktualizowanie każdego rozszerzenia zainstalowanego w 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 twórcą powiadomień a usługą Komunikacja w chmurze?
Komunikacja w chmurze Firebase (FCM) zapewnia pełny zestaw funkcji przesyłania wiadomości dzięki pakietom SDK dla klientów oraz protokołom serwera HTTP i XMPP. W przypadku wdrożeń z bardziej złożonymi wymaganiami dotyczącymi przesyłania wiadomości właściwym wyborem będzie FCM.
Edytor powiadomień to lekkie, bezserwerowe rozwiązanie do obsługi wiadomości oparte na Komunikacji w chmurze Firebase. Ma łatwą w użyciu konsolę graficzną i ma mniejsze wymagania dotyczące kodowania. Narzędzie tworzenia powiadomień umożliwia użytkownikom łatwe wysyłanie wiadomości, aby ponownie angażować i utrzymywać użytkowników, wspierać rozwój aplikacji oraz wspierać kampanie marketingowe.
Potencjał | Kompozytor powiadomień | Komunikacja w chmurze | |
---|---|---|---|
Wartość docelowa | Konkretne urządzenie | ||
Klienci, którzy zasubskrybowali tematy (np. pogoda) | |||
Klienci we wstępnie zdefiniowanym segmencie użytkowników (aplikacja, wersja, język) | |||
Klienci w wybranych grupach odbiorców Analytics | |||
Klienci w grupach urządzeń | |||
Przesyłanie z klienta na serwer | |||
Typ wiadomości | Powiadomienia do 2 KB | ||
Wiadomości o rozmiarze do 4 KB | |||
Wyświetlanie | Natychmiast | ||
Przyszły czas lokalny urządzenia klienckiego | |||
Analytics | Wbudowane zbieranie danych analitycznych powiadomień i analiza ścieżek |
Komunikacja w chmurze: firma Apple ogłosiła, że wycofuje starszy protokół binarny dla APN. Czy muszę coś zrobić?
Nie. W 2017 roku usługa Firebase Cloud Messaging została przełączona 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ę używać innych usług Firebase, aby używać FCM?
Komunikacji w chmurze Firebase (FCM) możesz używać jako niezależnego komponentu w taki sam sposób jak w GCM, bez używania innych usług Firebase.
Komunikacja w chmurze: już jestem deweloperem Google Cloud Messaging (GCM). Czy mam przejść na Komunikację w chmurze Firebase (FCM)?
FCM to nowa wersja GCM pod marką Firebase. Dziedziczy podstawową infrastrukturę GCM z nowymi pakietami SDK, które ułatwiają programowanie Komunikacji w chmurze.
Zalety przejścia na pakiet SDK FCM:
- Prostsze programowanie klienckie. Nie musisz już pisać własnej rejestracji ani ponawiania prób 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óre umożliwia każdemu wysyłanie powiadomień do określonych grup odbiorców na podstawie statystyk z Google Analytics.
Aby przejść z pakietów SDK GCM na pakiety FCM, zapoznaj się z przewodnikami po migracji aplikacji na Androida i iOS.
Komunikacja w chmurze: dlaczego moje urządzenia docelowe nie odbierają wiadomości?
Jeśli wygląda na to, że urządzenia nie odbierają wiadomości, najpierw sprawdź, czy nie występują te dwie potencjalne przyczyny:
Obsługa wiadomości na pierwszym planie w przypadku powiadomień z powiadomieniami. Aplikacje klienckie muszą dodać logikę obsługi wiadomości, aby obsługiwać powiadomienia, gdy aplikacja działa na urządzeniu na pierwszym planie. Zobacz szczegóły dotyczące iOS i Androida.
Ograniczenia zapory sieciowej sieci. Jeśli w Twojej organizacji jest zapora sieciowa, która ogranicza ruch z i do internetu, musisz skonfigurować ją w taki sposób, aby zezwalać na połączenia z FCM, aby aplikacje klienckie Firebase Cloud Messaging mogły otrzymywać wiadomości. Porty, które należy otworzyć, to:
- 5228
- 5229
- 5230
FCM zwykle używa numerów 5228, ale czasami używa numerów 5229 i 5230. FCM nie podaje konkretnych adresów IP, więc zezwól zapory sieciowej na akceptowanie połączeń wychodzących do wszystkich adresów IP zawartych w blokach adresów IP wymienionych w numerze ASN 15169 Google.
Komunikacja w chmurze: Zaimplementowałem w mojej aplikacji na Androida usługę onMessageReceived
, ale nie jest ona wywoływana.
Gdy aplikacja działa w tle,
wiadomości z powiadomieniami są wyświetlane w obszarze powiadomień, a usługa onMessageReceived
nie jest wywoływana. W przypadku wiadomości z powiadomieniami z ładunkiem danych komunikat z powiadomieniem jest wyświetlany w obszarze powiadomień, a zawarte w nim dane można pobrać z intencji uruchomionej, gdy użytkownik kliknie powiadomienie.
Więcej informacji znajdziesz w artykule o odbieraniu i obsłudze wiadomości.
Edytor powiadomień: czym różni się Edytor powiadomień od Komunikacji w chmurze?
Edytor powiadomień to lekkie, bezserwerowe rozwiązanie do obsługi wiadomości oparte na Komunikacji w chmurze Firebase. Ma łatwą w użyciu konsolę graficzną i ma mniejsze wymagania dotyczące kodowania. Narzędzie tworzenia powiadomień umożliwia użytkownikom łatwe wysyłanie wiadomości, aby ponownie angażować i utrzymywać użytkowników, wspierać rozwój aplikacji oraz wspierać kampanie marketingowe.
Komunikacja w chmurze Firebase (FCM) zapewnia pełny zestaw funkcji przesyłania wiadomości dzięki pakietom SDK dla klientów oraz protokołom serwera HTTP i XMPP. W przypadku wdrożeń z bardziej złożonymi wymaganiami dotyczącymi przesyłania wiadomości właściwym wyborem będzie FCM.
Oto porównanie możliwości przesyłania wiadomości oferowanych przez Komunikację w chmurze Firebase (FCM) i narzędzie tworzenia powiadomień:
Potencjał | Kompozytor powiadomień | Komunikacja w chmurze | |
---|---|---|---|
Wartość docelowa | Konkretne urządzenie | ||
Klienci, którzy zasubskrybowali tematy (np. pogoda) | |||
Klienci we wstępnie zdefiniowanym segmencie użytkowników (aplikacja, wersja, język) | |||
Klienci w wybranych grupach odbiorców Analytics | |||
Klienci w grupach urządzeń | |||
Przesyłanie z klienta na serwer | |||
Typ wiadomości | Powiadomienia do 2 KB | ||
Wiadomości o rozmiarze do 4 KB | |||
Wyświetlanie | Natychmiast | ||
Przyszły czas lokalny urządzenia klienckiego | |||
Analytics | Wbudowane zbieranie danych analitycznych powiadomień i analiza ścieżek |
Twórca powiadomień: jestem już deweloperem Google Cloud Messaging (GCM) i chcę korzystać z edytora powiadomień. Co mam zrobić?
Kreator powiadomień to gotowe rozwiązanie, które pozwala każdemu wysyłać powiadomienia do określonych grup odbiorców na podstawie statystyk z Google Analytics. Narzędzie tworzenia powiadomień udostępnia też analizę ścieżki dla każdej wiadomości, co ułatwia ocenę skuteczności powiadomień.
Jeśli jesteś już deweloperem GCM, aby móc używać Kreatora powiadomień, musisz przejść z pakietów SDK GCM na pakiety FCM. Zobacz przewodniki dotyczące migracji aplikacji na Androida i iOS.
Funkcje FCM 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?
To wycofanie dotyczy tych interfejsów API i pakietów SDK:
Interfejsy API serwera
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 do punktu końcowego będą kończyć się niepowodzeniem. | Przejdź na interfejs API w wersji 1. |
Starszy protokół XMPP | fcm-xmpp.googleapis.com:5235 | Po 21 czerwca 2024 r. żądania do punktu końcowego będą kończyć się niepowodzeniem. | Przejdź na interfejs API w wersji 1. |
Interfejsy API serwera identyfikatora instancji | https://iid.googleapis.com/v1/web/iid | Po 21 czerwca 2024 r. żądania do punktu końcowego będą kończyć się niepowodzeniem. | Użyj pakietu Web JS SDK, by utworzyć rejestracje internetowe FCM. |
https://iid.googleapis.com/iid/* | Po 21 czerwca 2024 r. punkty końcowe będą nadal działać, ale po 21 czerwca 2024 r. przestaną obsługiwać uwierzytelnianie za pomocą statycznych kluczy serwera. | Użyj tokena dostępu OAuth 2.0 pobranego z konta usługi. | |
Interfejs API do zarządzania grupami urządzeń | https://fcm.googleapis.com/fcm/notification | Po 21 czerwca 2024 r. punkt końcowy będzie nadal działać, ale po 21 czerwca 2024 r. 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 komunikatów wysyłanych przez XMPP | fcm-xmpp.googleapis.com:5235 | Po 21 czerwca 2024 r. wywołania interfejsu API kierowane do FirebaseMessaging.send w aplikacji nie będą wywoływać wiadomości wysyłanych na serwer aplikacji. | Zaimplementuj tę funkcję w logice serwera. Na przykład niektórzy deweloperzy implementują własny punkt końcowy HTTP/gRPC i bezpośrednio wywołują ten punkt końcowy, aby wysyłać wiadomości z klientów na serwer aplikacji. W tym krótkim wprowadzeniu do gRPC znajdziesz przykład implementacji przesyłania komunikatów z użyciem gRPC. |
Interfejs Batch Send API | https://fcm.googleapis.com/batch | Po 21 czerwca 2024 r. żądania do punktu końcowego będą kończyć się niepowodzeniem. | Przejdź na standardową metodę wysyłania przy użyciu interfejsu API HTTP w wersji 1, która obsługuje 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. interfejs API przestanie działać, ponieważ wywołuje starszą wersję interfejsu HTTP Send API. | Użyj metody send() .
|
sendToDeviceGroup()
|
Node.js | Po 21 czerwca 2024 r. interfejs API przestanie działać, ponieważ wywołuje starszą wersję interfejsu HTTP Send API. | Użyj metody send() .
|
sendAll()/sendAllAsync()/send_all()/sendMulticast()/SendMulticastAsync()/send_multicast()
|
Node.js, Java, Python, Go, C# | Te interfejsy API przestaną działać po 21 czerwca 2024 roku, ponieważ wywołują interfejs API wysyłania wsadowego . | Uaktualnij pakiet SDK Firebase do najnowszej wersji i używaj nowych interfejsów API: sendEach()/
sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/
send_each_for_multicast() .
Nowe interfejsy API nie wywołują już wycofanego interfejsu wysyłania wsadowego i z tego powodu mogą tworzyć więcej równoczesnych połączeń HTTP niż stare. |
Pakiety SDK klienta
Wersje pakietu SDK | Wpływ na użytkowników | Wymagane działanie |
---|---|---|
Pakiety SDK GCM (wycofane w 2018 r.) | Po 21 czerwca 2024 r. 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 do Androida do najnowszej wersji pakietu SDK Firebase, jeśli jeszcze jej nie masz. |
Pakiety JS SDK w wersji starszej niż 7.0.0 (zmiana niezgodna z wersją 7.0.0 w 2019 r.) | Po 21 czerwca 2024 r. aplikacje internetowe korzystające ze starszych pakietów JS SDK nie będą mogły rejestrować tokenów. | Uaktualnij pakiet SDK Firebase do najnowszej wersji. |
Czy zobaczę możliwość zmiany usługi na niższą przed czerwcem 2024 roku?
Nie. Masz 12 miesięcy (20.06.2023–21.06.2024) na przejście ze starych interfejsów API na nowe bez przechodzenia na niższą wersję usługi. Zdecydowanie zalecamy jak najszybsze zaplanowanie migracji, dzięki czemu wycofanie interfejsów API w czerwcu 2024 r. nie będzie miało na Ciebie wpływu.
Po czerwcu 2024 r. możesz zauważyć wzrost liczby błędów lub brak funkcji podczas korzystania z wymienionych powyżej interfejsów API i pakietów SDK (więcej informacji znajdziesz w odpowiedzi na następne najczęstsze pytania).
Jak i kiedy wycofane interfejsy API zostaną wyłączone?
Około 22 lipca 2024 r. FCM rozpocznie stopniowe wyłączanie wycofanych interfejsów API. Po tym terminie wycofane usługi będą podlegać procesowi migotania, w wyniku którego rosnąca liczba żądań będzie zwracać odpowiedzi na błędy. W okresie stopniowego dostosowywania częstotliwości możesz spodziewać się wzrostu częstotliwości występowania tych zachowań i odpowiedzi na błędy:
Kategoria | Czego możesz oczekiwać |
---|---|
Starszy protokół HTTP | Żądania z kodem HTTP 301 są odrzucane. |
Starszy protokół XMPP | Żądania zostały odrzucone z kodem błędu 302. |
Nadrzędna usługa FCM | Wiadomości są pomijane przez backend FCM w sposób dyskretny. |
Interfejs Batch Send API | Żądania zostały odrzucone z kodem błędu 501 i wyświetlonym komunikatem o błędzie „Interfejs API został wycofany”. |
Pakiety SDK GCM – rejestracja tokenów | Żądania z kodem HTTP 301 są odrzucane. |
Pakiety SDK GCM – wysyłanie wiadomości | Żądania zostały odrzucone z kodem błędu 400 i wyświetlonym komunikatem o błędzie „Token V3 został wycofany”. |
Pakiety JS SDK w wersji starszej niż 7.0.0 | Żądania z kodem HTTP 501 są odrzucane. |
Używanie klucza serwera do uzyskiwania dostępu do interfejsów API do zarządzania identyfikatorem instancji i grupami urządzeń | Żądania z kodem HTTP 401 są odrzucane. |
Jeśli nie możesz dokończyć migracji z wycofanych usług FCM przed rozpoczęciem stopniowego wyłączania, możesz poprosić o rozszerzenie. Jeśli zostanie Ci przedłużone, stopniowe zmniejszanie nie będzie Cię dotyczyć, dopóki nie wygaśnie. Po wygaśnięciu rozszerzenia ruch prawdopodobnie mocno się zmniejszy.
Jaka jest różnica między tokenami OAuth 2.0 a kluczami serwera?
Token OAuth 2.0 jest tokenem krótkotrwałym pobranym z konta usługi. To standardowy model uwierzytelniania Google, który 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ę, jeśli używasz tokenów OAuth 2.0 w przypadku żądań wysyłanych do różnych punktów końcowych.
- Interfejs API HTTP v1:
Authorization: Bearer $oauth_token
- Identyfikatory instancji API z serwera i Interfejs API do zarządzania grupami urządzeń:
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 chcesz regularnie wysyłać więcej niż 600 tys. wiadomości na minutę, skontaktuj się z zespołem pomocy Firebase, by dowiedzieć się, jak zwiększyć limit, lub uzyskać rekomendacje, jak rozłożyć ruch.
Jaka jest różnica między interfejsem HTTP w wersji 1 a starszymi interfejsami API, gdy wysyłam wiadomości do tematów/grup urządzeń?
Tematy: gdy używasz interfejsu API w wersji 1, nie musisz dodawać przedrostka „/topics/” do miejsca docelowego tematu.
Grupy urządzeń: token grupy może być miejscem docelowym tokena w interfejsie API HTTP w wersji 1. Interfejs HTTP w wersji 1 nie zwraca jednak liczby udanych/niepowodzeń w odpowiedzi. Zalecamy używanie 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 jednym żądaniu?
Nie. Ta funkcja, nazywana „multicast” w starszych interfejsach API HTTP, nie jest obsługiwana przez interfejs HTTP v1 API, który lepiej sprawdza się pod kątem skalowalności.
W przypadkach użycia, w których całkowite opóźnienie ma kluczowe znaczenie lub gdy łączny rozmiar rozpowszechniania jest niewielki (mniej niż milion), Google zaleca wysyłanie wielu osobnych żądań za pomocą interfejsu HTTP v1 API. Interfejs HTTP v1 API w protokole HTTP/2 działa podobnie w 99,9% żądań multicast (wysyłających mniej niż 100 tokenów). W wyjątkowych przypadkach użycia (wysyłanie 1000 tokenów) uzyskuje nawet 1/3 przepustowości, dlatego do optymalizacji pod kątem tego nietypowego przypadku użycia potrzebna jest dodatkowa równoczesność. Interfejs HTTP v1 API zapewnia większą niezawodność i dostępność niż starszą wersję multiemisji.
W przypadkach użycia, w których priorytet ma przepustowość przepustowości i ruchu wychodzącego lub gdy łączny rozmiar zwielokrotnienia jest duży (przekracza milion), Google zaleca przesyłanie wiadomości na konkretne tematy. Przesyłanie wiadomości na dany temat wymaga jednorazowego działania, aby zasubskrybować temat,ale zapewnia do 10 tys. zapytań na sekundę na projekt bez ograniczenia maksymalnego rozmiaru tematu.
Które wersje pakietu Firebase Admin SDK zawierają nowe interfejsy API?
Platforma | Wersja pakietu SDK Firebase Admin |
---|---|
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 zbiorczego w FCM używa tego samego formatu wiadomości i mechanizmu uwierzytelniania co interfejs API HTTP w wersji 1. Korzysta jednak z innego punktu końcowego. Jeśli chcesz poprawić wydajność, rozważ użycie protokołu HTTP/2 do wysyłania wielu żądań do interfejsu API HTTP w wersji 1 tym samym połączeniem 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 włączać naszych starszych interfejsów API.
Limity w FCM
Muszę powiadomić dużą bazę klientów w ciągu 2 minut.
Ten przypadek użycia nie jest obsługiwany. Musisz rozłożyć ruch na więcej niż 5 minut.
Moja aplikacja powiadamia użytkowników o wydarzeniach. Zgodnie z moim modelem biznesowym wiadomości muszą być dostarczone natychmiast. Czy mogę zwiększyć limit?
Niestety z tego powodu nie możemy zwiększyć limitu. Musisz rozłożyć ruch na więcej niż 5 minut.
Moje wiadomości dotyczą zaplanowanych wydarzeń i muszę wysyłać cały ruch o godzinie.
Zalecamy rozpoczęcie wysyłania powiadomień co najmniej 5 minut przed rozpoczęciem wydarzenia.
Ile czasu minie, zanim moja prośba o limit zostanie zrealizowana?
To zależy od sposobu, w jaki korzystasz z FCM. Niezależnie od tego możesz się spodziewać odpowiedzi w ciągu kilku dni roboczych. W niektórych przypadkach korzystanie z FCM i pewne okoliczności mogą przedłużyć ten proces. Jeśli zostaną spełnione wszystkie wymagania, większość żądań zostanie rozpatrzona w ciągu 2 tygodni.
Jak mogę monitorować wykorzystanie limitu?
Zapoznaj się ze wskazówkami Google Cloud na temat sposobu tworzenia wykresów i monitorowania wskaźników limitów.
Problemy z systemem 429 są dla mnie lub mojej firmy trudne. Czy mogę uzyskać zwolnienie lub większy limit, aby uniknąć otrzymania 429?
Zdajemy sobie sprawę, że limity mogą być wymagające, jednak limity są niezbędne do utrzymania niezawodności usługi i nie możemy przyznawać żadnych wyjątków.
Czy mogę zwiększyć limit dla wydarzenia tymczasowego?
Możesz poprosić o zwiększenie limitu, jeśli chcesz obsługiwać wydarzenie trwające do 1 miesiąca. Prześlij prośbę co najmniej miesiąc przed wydarzeniem i podaj dokładne informacje o dacie jego rozpoczęcia i zakończenia. FCM dołoży wszelkich starań, aby zrealizować Twoją prośbę (nie możemy zagwarantować wzrostu). Zwiększenie limitu zostanie cofnięte po dacie zakończenia wydarzenia.
Czy mój obecny limit może ulec zmianie?
Google nie zwleka z tym, ale limity mogą zostać zmienione w razie potrzeby, aby chronić integralność systemu. W miarę możliwości Google powiadomi Użytkownika z wyprzedzeniem o takich zmianach.
Cloud Storage dla Firebase
Cloud Storage dla Firebase: dlaczego nie mogę używać Cloud Storage dla Firebase?
Cloud Storage dla Firebase tworzy zasobnik domyślny na poziomie bezpłatnym App Engine. Umożliwia to szybkie rozpoczęcie korzystania z Firebase i Cloud Storage dla Firebase bez konieczności podawania karty kredytowej ani włączania konta rozliczeniowego Cloud. Pozwala też łatwo udostępniać dane między Firebase a projektem Google Cloud.
Istnieją jednak 2 znane przypadki, w których nie można utworzyć tego zasobnika i nie będzie można używać Cloud Storage dla Firebase:
- Projekt zaimportowany z Google Cloud, który zawierał główną/podrzędną aplikację Datastore w App Engine.
-
Projekt zaimportowany z Google Cloud, który ma projekty z prefiksem domeny. Na 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 otrzymuję odpowiedzi o kodzie 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 w ramach abonamentu Spark mogę przechowywać pliki wykonywalne?
W przypadku projektów 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 oraz Hostingu Firebase. Te zasady mają na celu zapobieganie nadużyciom na naszej platformie.
Wyświetlanie, hosting 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ą nadal można przesyłać i hostować takie pliki.
To ograniczenie dotyczy projektów w ramach abonamentu Spark. Nie ma to wpływu na projekty w abonamencie rozliczanym według wykorzystania (Blaze).
Następujące typy plików nie mogą być hostowane w Hostingu Firebase ani Cloud Storage dla Firebase:
- Pliki systemu Windows z rozszerzeniami
.exe
,.dll
i.bat
- Pliki na Androida z rozszerzeniem
.apk
- Pliki platformy Apple z rozszerzeniem
.ipa
Co muszę zrobić?
Jeśli po 28 września 2023 roku nadal chcesz hostować te typy plików:
- W przypadku Hostingu: przejdź na abonament Blaze, aby móc wdrożyć te typy plików w Hostingu Firebase za pomocą polecenia
firebase deploy
. - W przypadku miejsca na dane: przejdź na abonament Blaze, aby przesyłać te typy plików do wybranego zasobnika za pomocą interfejsu wiersza poleceń GCS, konsoli Firebase lub konsoli Google Cloud.
Używaj narzędzi Firebase do zarządzania zasobami Hostingu Firebase i Cloud Storage.
- Jeśli chcesz zarządzać zasobami w Hostingu Firebase, użyj konsoli Firebase, aby usuwać wersje zgodnie z tym przewodnikiem.
- Aby zarządzać zasobami w Cloud Storage, otwórz stronę usługi Storage w projekcie.
- W hierarchii folderów na karcie Pliki znajdź niedozwolone pliki do usunięcia, a następnie wybierz je za pomocą pól wyboru obok nazw plików w lewej części panelu.
- Kliknij Usuń i potwierdź usunięcie plików.
Więcej informacji o zarządzaniu hostowaniem zasobów za pomocą narzędzi Firebase i zasobnikami Cloud Storage dla Firebase z bibliotekami klienta znajdziesz w naszej dokumentacji.
Cloud Storage dla Firebase: Dlaczego widzę nieoczekiwany wzrost liczby operacji przesyłania i pobierania?
Wcześniej żądania pobrania i przesłania danych do interfejsu Cloud Storage for Firebase API nie były zliczane prawidłowo. Podjęliśmy działania mające na celu rozwiązanie tego problemu od 15 września 2023 r.
W przypadku użytkowników Blaze operacje przesyłania i pobierania zaczną wliczać się do Twojego miesięcznego rachunku. Użytkownicy usługi Spark zaczną wliczać się do Twojego miesięcznego bezpłatnego limitu.
Zalecamy monitorowanie strony wykorzystania pod kątem wszystkich wzrostów, które mogą wliczać się do limitów.
Cloud Storage dla Firebase: dlaczego widzę nowe identyfikatory kont usługi powiązane z moimi 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 udostępniania danych logowania użytkownika. Podczas tworzenia projektu Firebase możesz zauważyć, że dostępnych jest już w nim kilka kont usługi.
Konto usługi używane przez Cloud Storage dla Firebase ma zakres ograniczony do Twojego projektu i nazywa się 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żesz zobaczyć dodatkowe konto usługi o nazwie firebase-storage@system.gserviceaccount.com
. Od 19 września 2022 r. to konto usługi nie jest 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 konta usługi nie ma w Twoim projekcie, możesz je dodać w jeden z poniższych sposobów.
- (Zalecane) Automatycznie: użyj punktu końcowego REST AddFirebase, aby ponownie zaimportować zasobnik do Firebase. Wystarczy wywołać ten punkt końcowy tylko 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ć dostęp Twoich aplikacji do zasobników Cloud Storage. Aby usunąć konto usługi z projektu, wykonaj instrukcje opisane w artykule Wyłączanie konta usługi.
Crashlytics
Wejdź na stronę Rozwiązywanie problemów z Crashlytics i najczęstszymi pytaniami, gdzie 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 uzyskuje dostęp do każdego linku dynamicznego dwa razy?
Interfejs API getInvitation
czyści zapisany link dynamiczny, aby uniemożliwić dwukrotne użycie go. Pamiętaj, aby wywoływać ten interfejs API z parametrem autoLaunchDeepLink
ustawionym na false
we wszystkich działaniach związanych z precyzyjnymi linkami, aby go wyczyścić w przypadku, gdy aktywność jest wywoływana poza głównym działaniem.
Pakiet emulatorów lokalnych Firebase
Dlaczego w logach Pakietu emulatorów pojawia się błąd zaczynający się od „Wiele identyfikatorów projektów nie jest zalecanych w trybie pojedynczego projektu”?
Ten komunikat oznacza, że Pakiet emulatorów wykrył, że może uruchamiać konkretny emulator usługi z użyciem różnych identyfikatorów projektów. Może to wskazywać na błędną konfigurację i powodować problemy, gdy emulatory próbują się komunikować ze sobą oraz przy próbie interakcji z emulatorami z poziomu kodu. Jeśli identyfikatory projektów są różne, często może się okazać, że brakuje danych, ponieważ dane przechowywane w emulatorach są powiązane z identyfikatorem projektu, a interoperacyjność zależy od pasujących identyfikatorów projektów.
Jest to częsty powód nieporozumień wśród programistów, dlatego domyślnie pakiet emulatorów lokalnych będzie zezwalać teraz na uruchamianie tylko z jednym identyfikatorem projektu, chyba że w pliku konfiguracji firebase.json
określisz inaczej. Jeśli emulator wykryje więcej niż 1 identyfikator projektu, zarejestruje ostrzeżenie i może zgłosić błąd krytyczny.
Sprawdź, czy w deklaracjach identyfikatorów projektów nie ma rozbieżnoś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 jest wybrany), użyj projektufirebase 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 zostać zainicjowany za pomocą poleceniainitializeApp(config)
. -
Flaga wiersza poleceń
--project
. Przekazywanie flagi interfejsu wiersza poleceń Firebase--project
zastępuje projekt domyślny. Musisz sprawdzić, czy wartość flagi jest zgodna z identyfikatorem projektu w testach jednostkowych i inicjowaniu aplikacji.
Miejsca, które warto 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
Hostowanie: czy w projektach abonamentów Spark mogę przechowywać pliki wykonywalne?
W przypadku projektów 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 oraz Hostingu Firebase. Te zasady mają na celu zapobieganie nadużyciom na naszej platformie.
Wyświetlanie, hosting 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ą nadal można przesyłać i hostować takie pliki.
To ograniczenie dotyczy projektów w ramach abonamentu Spark. Nie ma to wpływu na projekty w abonamencie rozliczanym według wykorzystania (Blaze).
Następujące typy plików nie mogą być hostowane w Hostingu Firebase ani Cloud Storage dla Firebase:
- Pliki systemu Windows z rozszerzeniami
.exe
,.dll
i.bat
- Pliki na Androida z rozszerzeniem
.apk
- Pliki platformy Apple z rozszerzeniem
.ipa
Co muszę zrobić?
Jeśli po 28 września 2023 roku nadal chcesz hostować te typy plików:
- W przypadku Hostingu: przejdź na abonament Blaze, aby móc wdrożyć te typy plików w Hostingu Firebase za pomocą polecenia
firebase deploy
. - W przypadku miejsca na dane: przejdź na abonament Blaze, aby przesyłać te typy plików do wybranego zasobnika za pomocą interfejsu wiersza poleceń GCS, konsoli Firebase lub konsoli Google Cloud.
Używaj narzędzi Firebase do zarządzania zasobami Hostingu Firebase i Cloud Storage.
- Jeśli chcesz zarządzać zasobami w Hostingu Firebase, użyj konsoli Firebase, aby usuwać wersje zgodnie z tym przewodnikiem.
- Aby zarządzać zasobami w Cloud Storage, otwórz stronę usługi Storage w projekcie.
- W hierarchii folderów na karcie Pliki znajdź niedozwolone pliki do usunięcia, a następnie wybierz je za pomocą pól wyboru obok nazw plików w lewej części panelu.
- Kliknij Usuń i potwierdź usunięcie plików.
Więcej informacji o zarządzaniu hostowaniem zasobów za pomocą narzędzi Firebase i zasobnikami Cloud Storage dla Firebase z bibliotekami klienta znajdziesz w naszej dokumentacji.
Hostowanie: dlaczego tabela historii wersji w Hostingu w konsoli Firebase pokazuje liczbę plików, które są wyższe niż w moim projekcie lokalnym?
Firebase automatycznie dodaje dodatkowe pliki zawierające metadane witryny Hostingu, które są uwzględniane w łącznej liczbie plików w tej wersji.
Hosting: jaki jest największy rozmiar pliku, jaki mogę wdrożyć w Hostingu Firebase?
Hosting ma maksymalny rozmiar pojedynczych plików wynoszący 2 GB.
Zalecamy przechowywanie większych plików w Cloud Storage, gdzie maksymalny rozmiar poszczególnych obiektów wynosi terabajty.
Hosting: ile witryn w Hostingu mogę mieć w projekcie Firebase?
Funkcja wielu witryn w Hostingu Firebase obsługuje maksymalnie 36 witryn na projekt.
Monitorowanie wydajności
Wejdź na stronę Monitorowanie wydajności i najczęstsze pytania, aby poznać przydatne wskazówki i odpowiedzi na inne najczęstsze pytania.
Monitorowanie skutecznoś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 adresów URL na domenę w przypadku danej aplikacji.
Monitorowanie wydajności: dlaczego nie widzę danych o skuteczności w czasie rzeczywistym?
Aby wyświetlać dane o wydajności w czasie rzeczywistym, Twoja aplikacja musi korzystać z wersji pakietu SDK Performance Monitoring, 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 wymienionych powyżej wersji umożliwi 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ść mojej Bazy danych czasu rzeczywistego była niższa niż średnia?
Przy obliczaniu przepustowości zwykle uwzględniamy narzut szyfrowania SSL (na podstawie warstwy 5 modelu OSI). We wrześniu 2016 r. wprowadziliśmy jednak błąd, który powodował, że nasze raporty dotyczące przepustowości ignorowały nadmiarowe szyfrowanie. Mogło to powodować sztucznie niską przepustowość raportowania i obciążenia Twojego konta od kilku miesięcy.
Pod koniec marca 2017 r. opublikowaliśmy poprawkę, która naprawiła ten błąd, dzięki czemu raporty dotyczące przepustowości i płatności zostały przywrócone do normalnego poziomu.
Baza danych czasu rzeczywistego: jakie są ograniczenia skalowania bazy danych czasu rzeczywistego?
Każda instancja bazy danych czasu rzeczywistego ma limit 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 grupowania z użyciem aktualizacji obejmujących wiele ścieżek mogą pomóc Ci uzyskać większą przepustowość.
Oprócz tego w każdej instancji bazy danych ma ograniczenie liczby jednoczesnych połączeń z bazą danych. Nasze limity domyślne są wystarczająco duże dla większości aplikacji. Jeśli tworzysz aplikację, która wymaga dodatkowej skali, może być konieczne podzielenie aplikacji na wiele instancji bazy danych w celu zwiększenia skali. Możesz też rozważyć Cloud Firestore jako alternatywną bazę danych.
Baza danych czasu rzeczywistego: co mogę zrobić, jeśli przekroczę limit wykorzystania Bazy danych czasu rzeczywistego?
Jeśli otrzymasz e-maila lub powiadomienie w konsoli Firebase o przekroczeniu limitów wykorzystania Bazy danych czasu rzeczywistego, możesz rozwiązać ten problem na podstawie przekroczenia limitu wykorzystania. Aby sprawdzić wykorzystanie Bazy danych czasu rzeczywistego, otwórz panel Wykorzystanie Bazy danych czasu rzeczywistego w konsoli Firebase.
Jeśli przekraczasz limit pobierania, możesz przejść na wyższą wersję abonamentu Firebase lub poczekać, aż limit pobierania zresetuje się na początku kolejnego 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żyj reguł zabezpieczeń, aby zablokować nieautoryzowane pobieranie.
Jeśli przekroczysz 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:
- Uruchamiaj okresowe zadania czyszczenia.
- Ogranicz liczbę zduplikowanych danych w bazie danych.
Pamiętaj, że może minąć trochę czasu, zanim usunięte dane pojawią się w ramach przydzielonego miejsca na dane.
Jeśli przekraczasz limit jednoczesnych połączeń z bazą danych, przejdź na wyższy abonament, aby uniknąć przerw w działaniu usługi. Aby zarządzać równoczesnymi połączeniami z bazą danych, spróbuj połączyć się z użytkownikami za pomocą interfejsu API REST, jeśli nie wymagają połączenia w czasie rzeczywistym.
Zdalna konfiguracja
Zdalna konfiguracja: dlaczego pobrane wartości nie zmieniają działania i wyglądu mojej aplikacji?
Jeśli nie pobierzesz wartości za pomocą fetchAndActivate()
, będą one przechowywane lokalnie, ale nie będą aktywowane. Aby aktywować pobrane wartości i zacząć je stosować, wywołaj activate
. Ten projekt daje Ci kontrolę nad tym, kiedy zmienia się działanie i wygląd aplikacji, ponieważ możesz wybrać, kiedy wywoływać 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, a następnie aktywować je przy następnym uruchomieniu aplikacji przez użytkownika. Dzięki temu nie będzie trzeba opóźniać uruchamiania aplikacji, gdy aplikacja czeka na pobranie wartości z usługi. Zmiany w działaniu i wyglądzie aplikacji pojawiają się wtedy, gdy wykorzystuje ona zaktualizowane wartości parametrów.
Więcej informacji o interfejsie Remote Config API i modelu użycia znajdziesz w omówieniu tego interfejsu.
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 warto często pobierać i aktywować konfiguracje, by umożliwić szybkie iteracje podczas tworzenia i testowania aplikacji. Aby dostosować ją do szybkiej iteracji w projekcie obejmującym maksymalnie 10 deweloperów, możesz tymczasowo ustawić w aplikacji obiekt FirebaseRemoteConfigSettings
z krótkim minimalnym odstępem 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ż jedna sekunda i często są pobierane w milisekundach. Usługa Zdalna konfiguracja obsługuje żądania pobierania w ciągu kilku milisekund, ale czas potrzebny na zrealizowanie tego żądania zależy od szybkości sieci urządzenia i czasu oczekiwania na połączenie sieciowe, z którego korzysta urządzenie.
Jeśli zależy Ci, aby pobrane wartości zaczęły być widoczne w aplikacji jak najszybciej, ale bez negatywnego wpływu na wrażenia użytkowników, rozważ dodawanie wywołań funkcji fetchAndActivate
za każdym razem, gdy aplikacja jest odświeżana na pełnym ekranie.
Laboratorium
Wejdź na stronę rozwiązywania problemów z Laboratorium, aby uzyskać przydatne wskazówki i odpowiedzi na najczęstsze pytania.
Miejsce na dane segmentacji użytkowników Firebase
Czym jest pamięć masowa segmentów użytkowników w Firebase?
Pamięć masowa użytkowników Firebase przechowuje identyfikatory instalacji Firebase oraz powiązane atrybuty i segmenty, a także utworzone przez Ciebie listy odbiorców, które dostarczają informacji o kierowaniu do innych usług Firebase, które z nich korzystają, np. Crashlytics, FCM czy personalizacji Zdalnej konfiguracji.