Masz inne problemy lub nie widzisz swojego problemu w poniższej liście? 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 jest najwyższym elementem w Firebase. W projekcie możesz zarejestrować aplikacje na Apple, Androida lub aplikacje internetowe. Po zarejestrowaniu aplikacji w Firebase możesz dodać do niej pakiety SDK Firebase dla poszczególnych usług, np. Analytics, Cloud Firestore, Crashlytics lub Remote Config.
Warianty aplikacji na urządzenia Apple, Androida i aplikacji internetowej należy zarejestrować w ramach jednego projektu Firebase. Możesz używać wielu projektów Firebase do obsługi wielu środowisk, takich jak środowisko programistyczne, przejściowe i produkcyjne.
Oto kilka materiałów, z których możesz dowiedzieć się więcej o projektach Firebase:
- Poznaj projekty Firebase – zawiera krótkie omówienie kilku ważnych pojęć dotyczących projektów Firebase, w tym ich związku z Google Cloud oraz podstawową hierarchię projektu, jego aplikacji i zasobów.
- Ogólne sprawdzone metody konfigurowania projektów Firebase – zawierają ogólne, ogólne sprawdzone metody konfigurowania projektów Firebase i rejestrowania w nich aplikacji, dzięki którym będziesz mieć jasny proces tworzenia, wykorzystujący odrębne środowiska.
Pamiętaj, że w przypadku wszystkich projektów Firebase Firebase automatycznie dodaje etykietę firebase:enabled
na stronie Etykiety projektu w konsoli Google Cloud. Więcej informacji o tej etykiecie znajdziesz w najczęstszych pytaniach.
Co to jest organizacja Google Cloud?
Organizacja Google Cloud jest kontenerem na projekty Google Cloud (w tym projekty Firebase). Ta hierarchia umożliwia lepszą organizację, zarządzanie dostępem i przeprowadzanie kontroli projektów Google Cloud i Firebase. Więcej informacji znajdziesz w artykule Tworzenie organizacji i zarządzanie nimi.
Jak dodać Firebase do istniejącego projektu Google Cloud?
Możesz mieć już projekty Google Cloud zarządzane w konsoli Google Cloud lub w Konsoli interfejsów API Google.
Możesz dodać Firebase do tych istniejących projektów, korzystając z jednej z tych opcji:
- Korzystając z konsoli Firebase:
na stronie głównej konsoli Firebase kliknij Dodaj projekt, a potem w menu Nazwa projektu wybierz istniejący projekt. - Korzystanie z opcji programowej:
- Wywołaj punkt końcowy interfejsu API REST zarządzania Firebase
addFirebase
. - Uruchom polecenie 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 projektu w konsoli Google Cloud możesz zobaczyć etykietę firebase:enabled
(dotyczy to Key
firebase
z Value
enabled
).
Ta etykieta została dodana automatycznie, ponieważ Twój projekt jest projektem Firebase, co oznacza, że ma włączone konfiguracje i usługi charakterystyczne dla Firebase. Dowiedz się więcej o relacji między projektami Firebase a projektem Google Cloud.
Zdecydowanie odradzamy modyfikowanie ani usuwanie tej etykiety. Ta etykieta jest używana przez Firebase i Google Cloud do wyświetlania listy projektów Firebase (np. za pomocą punktu końcowego interfejsu REST API projects.list
lub w menu w konsoli Firebase).
Pamiętaj, że ręczne dodanie tej etykiety do listy etykiet projektu NIE powoduje włączenia konfiguracji i usług charakterystycznych dla Firebase w projekcieGoogle Cloud. 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 mój projekt Firebase nie wyświetla się 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 wyświetlanych w konsoli Firebase.
- W odpowiedzi na wywołanie punktu końcowego interfejsu API REST
projects.list
- W odpowiedzi na uruchomienie polecenia wiersza poleceń Firebase
firebase projects:list
Wypróbuj te rozwiązania:
- 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 możesz uzyskać dostępu do projektu lub otrzymujesz błędy uprawnień, sprawdź te kwestie:
- Zaloguj się w Firebase za pomocą tego samego konta Google, które ma dostęp do projektu. Możesz się logować i wylogowywać z konsoli Firebase za pomocą awatara konta w prawym górnym rogu konsoli.
- Sprawdź, czy możesz wyświetlić projekt w konsoli Google Cloud.
- Upewnij się, że projekt ma etykietę
firebase:enabled
na stronie Etykiety 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
). - Upewnij się, że masz przypisaną jedną z podstawowych ról uprawnień IAM (Właściciel, Edytujący, Wyświetlający) lub rolę z uprawnieniami związanymi z Firebase, na przykład wstępnie zdefiniowaną rolę Firebase. Swoje role możesz wyświetlić na stronie uprawnień 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ą zarządzającą organizacją Google Cloud, aby przypisała Ci odpowiednią rolę umożliwiającą wyświetlanie projektu, na przykład rolę przeglądarki.
Jeśli po wykonaniu powyższych czynności nie widzisz swojego 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 projektu na konto Cloud Billing znacznie wzrośnie, o ile Twoje konto Cloud Billing będzie mieć dobrą opinię.
Limit projektu rzadko stanowi problem dla większości deweloperów, ale w razie potrzeby możesz poprosić o zwiększenie limitu projektów.
Pamiętaj, że całkowite usunięcie projektu wymaga 30 dni i wlicza się do limitu do momentu całkowitego usunięcia.
Ile aplikacji Firebase może być w projekcie Firebase?
Projekt Firebase jest kontenerem dla aplikacji Firebase na urządzenia z systemem Apple, Android i internet. Firebase ogranicza łączną liczbę aplikacji Firebase w projekcie Firebase do 30.
Po przekroczeniu tej liczby wydajność zaczyna spadać (szczególnie w przypadku Google Analytics), a w końcu, gdy liczba aplikacji jest większa, 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 ramach jednego projektu możesz utworzyć około 30 identyfikatorów klienta.
Upewnij się, że wszystkie aplikacje Firebase w ramach jednego projektu Firebase są z perspektywy użytkownika wariantami tej samej aplikacji na różne platformy. Jeśli na przykład opracowujesz aplikację typu white label, każda aplikacja z osobną etykietą powinna mieć własny projekt Firebase, ale wersje tej aplikacji na platformy Apple i Android 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 projekt wymaga więcej niż 30 aplikacji, możesz poprosić o zwiększenie limitu aplikacji. Aby można było wysłać to żądanie, 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 limitami 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).
Otagowanie projektu jako środowiska nie ma wpływu na działanie projektu Firebase ani jego funkcje. Tagowanie może jednak pomóc Tobie i Twojemu zespołowi zarządzać różnymi projektami Firebase w trakcie cyklu życia aplikacji.
Jeśli oznaczysz projekt jako środowisko produkcyjne, dodamy do niego w konsoli Firebase kolorowy 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 zabezpieczeń dla projektów Firebase oznaczonych jako środowiska produkcyjne.
Aby zmienić typ środowiska w projekcie 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, a potem kliknij wybraną aplikację Firebase, aby wyświetlić informacje o niej, w tym identyfikator aplikacji.
Oto przykładowe wartości identyfikatorów 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 są wymagania wstępne do połączenia Google Play / AdMob / Google Ads / BigQuery z projektem lub aplikacją Firebase?
- Aby połączyć kontoGoogle Play, musisz mieć:
- jedna z tych ról Firebase: Właściciel lub Administrator Firebase
oraz - jeden z tych Google Playpoziomów dostępu: Właściciel (konta) 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ć 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 o oprogramowaniu open source powinienem uwzględnić w aplikacji?
Na platformach Apple pod Firebase zawiera plik NOTICES, który zawiera odpowiednie wpisy. Pakiet SDK Firebase na Androida zawiera element pomocniczy Activity
do wyświetlania informacji o licencjach.
Uprawnienia i dostęp do projektów Firebase
Jak przypisać użytkownikowi projektu rolę, np. rolę 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 oferuje uproszczony sposób przypisywania ról uczestnikom projektu na karcie Użytkownicy i uprawnienia w sekcji settings > Ustawienia projektu. W konsoli Firebase możesz przypisać dowolną z podstawowych ról (Właściciel, Edytujący, Wyświetlający), rólę Administratora Firebase lub Wyświetlającego albo dowolną z predefiniowanych ról w kategorii usług Firebase.
- Konsola Google Cloud oferuje bogaty 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 użytkownicy projektu są nazywani podmiotami zabezpieczeń.
Jeśli właściciel projektu nie może już wykonywać zadań właściciela (np. opuścił firmę), a Twoim projektem nie zarządza organizacja Google Cloud (patrz następny akapit), możesz skontaktować się z zespołem pomocy Firebase i zapytać, jak poprosić o dostęp do projektu Firebase.
Pamiętaj, że jeśli projekt Firebase jest częścią organizacji Google Cloud, może nie mieć właściciela. Jeśli nie możesz znaleźć właściciela projektu Firebase, skontaktuj się z osobą zarządzającą organizacją Google Cloud, aby przypisała właściciela projektu.
Jak znaleźć właściciela projektu Firebase?
Listę 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 dostęp do tego projektu w konsoli Google Cloud. Listę członków projektu, w tym właścicieli, możesz wyświetlić na stronie Uprawnienia w konsoli Google Cloud.
Jeśli właściciel projektu nie może już wykonywać zadań właściciela (np. opuścił firmę), a Twoim projektem nie zarządza organizacja Google Cloud (patrz następny akapit), możesz skontaktować się z zespołem pomocy Firebase, aby przypisać tymczasowego właściciela.
Pamiętaj, że jeśli projekt Firebase należy do organizacji Google Cloud, może nie mieć właściciela. Zamiast tego osoba zarządzająca organizacją Google Cloud może wykonywać wiele zadań, które może wykonywać właściciel. Jednak aby wykonywać niektóre zadania związane z właścicielem (takie jak przypisywanie ról czy zarządzanie właściwościami Google Analytics), administrator może potrzebować rzeczywistej roli właściciela, aby wykonywać te zadania. Jeśli nie możesz znaleźć właściciela projektu Firebase, skontaktuj się z osobą zarządzającą organizacją Google Cloud, aby przypisać właściciela do tego projektu.
Kiedy i dlaczego warto przypisać członkowi projektu rolę właściciela?
Aby zapewnić prawidłowe zarządzanie projektem Firebase, musi on mieć właściciela. Właściciel projektu to osoba, która może wykonywać ważne działania administracyjne (np. przypisywać role i zarządzać usługami Google Analytics), a zespół pomocy Firebase może realizować tylko żądania administracyjne od właścicieli projektu, których tożsamość została potwierdzona.
Po skonfigurowaniu właścicieli projektu Firebase ważne jest, aby te przypisania były aktualne.
Pamiętaj, że jeśli projekt Firebase należy do organizacji Google Cloud, osoba zarządzająca organizacją Google Cloud może wykonywać wiele czynności, które może wykonywać właściciel. Jednak w przypadku wielu zadań specyficznych dla właściciela (takich jak przypisywanie ról czy zarządzanie właściwościami Google Analytics) administrator musi przypisać sobie rolę właściciela, aby 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 spowoduje otwarcie projektu 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. Zaloguj się na konsolę Firebase lub wyloguj się z niej, klikając awatara konta w prawym górnym rogu konsoli.
Pamiętaj, że jeśli jesteś administratorem organizacji Google Cloud, możesz otrzymywać powiadomienia o zmianach w projektach Firebase wewnątrz organizacji. Możesz jednak nie mieć wystarczających uprawnień do otwarcia projektu Firebase. W takich przypadkach najprostszym rozwiązaniem jest przypisanie sobie rzeczywistej roli właściciela, aby otworzyć projekt i wykonać wymagane czynności. Dowiedz się więcej o tym, dlaczego i kiedy przypisać rolę właściciela.
Platformy i 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
Które przeglądarki są obsługiwane w konsoli Firebase?
Do konsoli Firebase można uzyskać dostęp za pomocą najnowszych wersji popularnych przeglądarek komputerowych, takich jak Chrome, Firefox, Safari i Edge. Przeglądarki mobilne nie są obecnie w pełni obsługiwane.
Mogę 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 zwraca stronę błędu, która informuje, że projekt może nie istnieć lub że nie masz do niego dostępu.
- Konsola Firebase nie wyświetla projektu, nawet jeśli w polu wyszukiwania wpiszesz jego identyfikator lub nazwę.
Wypróbuj te rozwiązania:
- Najpierw spróbuj uzyskać dostęp do projektu, wpisując bezpośrednio jego adres URL. Użyj tego formatu:
https://console.firebase.google.com/project/PROJECT-ID/overview
- Jeśli nadal nie możesz uzyskać dostępu do projektu lub otrzymujesz błędy uprawnień, sprawdź te kwestie:
- Zaloguj się w Firebase za pomocą tego samego konta Google, które ma dostęp do projektu. Możesz zalogować się w konsoli Firebase lub się z niej wylogować, korzystając z awatara konta w prawym górnym rogu konsoli.
- Sprawdź, czy w projekcie włączony jest interfejs Firebase Management API.
- Upewnij się, że masz przypisaną jedną z podstawowych ról uprawnień IAM (Właściciel, Edytujący, Wyświetlający) lub rolę z uprawnieniami związanymi z Firebase, na przykład wstępnie zdefiniowaną rolę Firebase. Swoje role możesz wyświetlić na stronie uprawnień w konsoli Google Cloud.
- Jeśli Twój projekt należy do organizacji Google Cloud, aby wyświetlić go w konsoli Firebase, możesz potrzebować dodatkowych uprawnień. Skontaktuj się z osobą zarządzającą organizacją Google Cloud, aby przypisała Ci odpowiednią rolę umożliwiającą wyświetlanie projektu, na przykład rolę przeglądarki.
Jeśli żadna z tych czynności nie pozwoli Ci znaleźć projektu ani uzyskać do niego dostępu, skontaktuj się z zespołem pomocy Firebase.
Dlaczego konsola Firebase się nie wczytuje?
Te odpowiedzi na najczęstsze pytania są przeznaczone dla osób, które mają problemy opisane poniżej:
- Strona w konsoli Firebase nigdy się nie wczytuje.
- Dane na stronie nie wczytują się zgodnie z oczekiwaniami.
- Podczas wczytywania konsoli Firebase pojawiają się komunikaty o błędach przeglądarki.
Aby spróbować go rozwiązać, wykonaj te czynności:
- Sprawdź wiersz Konsola w Panelu stanu Firebase, aby sprawdzić, czy nie występują przerwy w działaniu usług.
- 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 z siecią nie jest blokowane przez bloker reklam, program antywirusowy, serwer proxy, zaporę sieciową lub inne oprogramowanie.
- Spróbuj załadować konsolę Firebase w innej sieci lub na innym urządzeniu.
- Jeśli używasz Chrome, sprawdź konsolę Narzędzi deweloperskich pod kątem błędów.
Jeśli wykonanie powyższych czynności nie rozwiąże problemu, skontaktuj się z zespołem pomocy Firebase.
Jak określany jest język konsoli Firebase?
Ustawienie języka w konsoli Firebase zależy od języka wybranego w ustawieniach konta Google.
Aby zmienić ustawienia języka, przeczytaj artykuł Zmienianie języka.
Konsola Firebase obsługuje te 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 Firebase IAM.
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 członków, konfigurować integracje (np. łączyć projekt z usługami takimi jak BigQuery czy Slack) oraz ma pełny dostęp do edycji projektu.
- Użytkownik o roli Edytujący ma pełny dostęp do edycji projektu.
- Użytkownik wyświetlający projekt ma dostęp tylko do odczytu. Pamiętaj, że konsola Firebase nie ukrywa ani nie wyłącza opcji edycji interfejsu użytkownika dla wyświetlających projekt, ale te operacje nie będą działać w przypadku członków projektu, którzy mają przypisaną rolę wyświetlającego.
Firebase obsługuje też:
- Wstępnie zdefiniowane role Firebase – role w Firebase, które umożliwiają bardziej szczegółową kontrolę dostępu niż podstawowe role właściciela, edytującego i przeglądającego.
- Role niestandardowe — całkowicie niestandardowe role uprawnień utworzone przez Ciebie w celu dostosowania zestawu uprawnień do konkretnych wymagań organizacji.
Ceny
Które produkty są płatne? Które z nich są bezpłatne?
Płatne produkty infrastruktury Firebase to Realtime Database, Cloud Storage for Firebase, Cloud Functions, Hosting, Test Lab i uwierzytelnianie przez telefon. Wszystkie te funkcje są dostępne bezpłatnie.
Firebase oferuje też wiele bezpłatnych usług: Analytics, Cloud Messaging, kreator powiadomień, Remote Config, App Indexing, Dynamic Links i Crash Reporting. 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. Dodatkowo wszystkie funkcje Authentication, które nie wymagają uwierzytelniania 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?
Płatne usługi Firebase można używać w ramach Google Cloudbezpłatnego okresu próbnego. Nowi użytkownicy Google Cloud i Firebase mogą skorzystać z 90-dniowego okresu próbnego, który obejmuje 300 USD w formie bezpłatnych środków Cloud Billing na zapoznanie się z usługami Google Cloud i Firebase oraz ich ocenę.
W trakcie bezpłatnego okresu próbnego Google Cloud otrzymasz konto Cloud Billing. Każdy projekt Firebase korzystający z tego konta rozliczeniowego w trakcie bezpłatnego okresu próbnego będzie objęty abonamentem Blaze.
Nie martw się. Skonfigurowanie konta Cloud Billing na potrzeby bezpłatnego okresu próbnego nie powoduje naliczania opłat. Nie pobierzemy żadnych opłat, dopóki nie włączysz płatności, przechodząc z bezpłatnego konta próbnego Cloud Billing na 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).
Po zakończeniu bezpłatnego okresu próbnego musisz obniżyć abonament projektu do Spark lub skonfigurować abonament Blaze w konsoli Firebase, aby nadal korzystać z projektu Firebase.
Dowiedz się więcej o Google Cloudbezpłatnym okresie próbnym.
Jak sprawdzić, który abonament jest dla mnie odpowiedni?
Abonament Spark
Nasze subskrypcja Spark to świetne miejsce do bezpłatnego tworzenia aplikacji. Możesz korzystać ze wszystkich bezpłatnych funkcji Firebase (Analytics, narzędzia do tworzenia powiadomień, Crashlytics itd.) oraz z wielu możliwości naszej płatnej infrastruktury. Jeśli jednak w danym miesiącu kalendarzowym przekroczysz limity zasobów abonamentu Spark, aplikacja zostanie wyłączona do końca tego miesiąca. Ponadto funkcje Google Cloud są niedostępne podczas korzystania z abonamentu Spark.
Abonament Blaze
Abonament Blaze jest przeznaczony do aplikacji w wersji produkcyjnej. Abonament Blaze umożliwia też poszerzenie aplikacji o płatne funkcje Google Cloud. Zapłacisz tylko za zasoby, które wykorzystasz – zwiększając zużycie odpowiednio do potrzeb. Staramy się, aby ceny abonamentu Blaze były konkurencyjne w porównaniu z usługami dostawców usług w chmurze.
Co się stało z bezpłatnymi SMS-ami w abonamencie Spark?
Aby zwiększyć bezpieczeństwo i jakość usługi uwierzytelniania przez telefon, od września 2024 r. projekty Firebase muszą być połączone z kontem Usług rozliczeniowych Google Cloud, aby można było włączyć i korzystać z usługi SMS.
Jak mogę monitorować wykorzystanie i płatności?
Korzystanie z zasobów projektu możesz śledzić w konsoli Firebase w tych panelach:
- Ogólny panel Wykorzystanie i płatności na poziomie projektu
- Authentication Panel Korzystanie (dotyczy przypadków uwierzytelniania przez telefon)
- Cloud Firestore Panel wykorzystania
- Cloud Functions Panel wykorzystania
- Cloud Storage Panel wykorzystania
- Hosting Panel wykorzystania
- Realtime Database Panel wykorzystania
Co się stało z planem cenowym Flame?
W styczniu 2020 r. plan cenowy Flame (25 USD/mies. dodatkowej puli) został usunięty jako opcja dla nowych rejestracji. Użytkownicy dotychczasowego abonamentu mieli czas na przeniesienie projektów z abonamentu Flame.
W lutym 2022 r. pozostałe projekty korzystające z abonamentu Flame zostały przekształcone w abonament Spark.
W związku z powyższym,
- Istniejące projekty z abonamentem Spark i Blaze oraz wszystkie nowe projekty nie mogą już przejść na abonament Flame ani się na niego zarejestrować.
- 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 zostały przeniesione na abonament Spark, można przenieść na abonament Blaze, aby wznowić korzystanie z dodatkowych płatnych usług.
- Odniesienia do planu Flame zostały usunięte z dokumentacji.
Czy masz więcej pytań na temat wycofania planu Flame? Poniżej znajdziesz dodatkowe odpowiedzi na najczęstsze pytania.
Chcesz dowiedzieć się więcej o innych abonamentach Firebase? Wejdź na naszą stronę z cennikiem Firebase. Jeśli chcesz zacząć przenosić istniejące projekty na inny abonament, możesz to zrobić na Firebase konsoli projektu.
Dodatkowe odpowiedzi na najczęstsze pytania dotyczące wycofania planu Flame
Mam projekt, proces lub model biznesowy, który opiera się na stałym koszcie Firebase. Co mam zrobić?
Zasubskrybuj abonament Blaze i ustaw alerty dotyczące budżetu.
Czy mogę otrzymać specjalne uprawnienia do tworzenia nowych projektów w ramach abonamentu 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ć?
Nie można już przejść na abonament Flame. Aby uzyskać dostęp do usług oferowanych w ramach abonamentu Flame, upewnij się, że korzystasz z abonamentu Blaze, i rozważ skonfigurowanie alertów dotyczących budżetu w swoim projekcie.
Mój projekt został automatycznie przełączony do innego planu cenowego w ramach wycofywania planu Flame. Co mam zrobić?
Jeśli Twój projekt wymaga dodatkowej puli zasobów wykraczającej poza limity dostępne w ramach abonamentu Spark, musisz przenieść projekt na abonament Blaze.
Dlaczego pakiet Flame zostaje wycofany?
Z biegiem lat obserwujemy spadek wykorzystania abonamentu Flame, a większość projektów, które go wykorzystują, nie w pełni wykorzystuje jego pełnego potencjału. Utrzymywanie tego planu cenowego nie jest ogólnie opłacalne, a uważamy, że możemy lepiej służyć wszystkim użytkownikom, jeśli zasoby zostaną przeznaczone na inne inicjatywy Firebase.
Czym różni się bezpłatne korzystanie z abonamentu Blaze od bezpłatnego korzystania z abonamentu Spark?
Bezpłatne korzystanie z abonamentu Blaze jest obliczane codziennie. Limity użycia również różnią się od abonamentu Spark w przypadku Cloud Functions, uwierzytelniania przez telefon i Test Lab.
W przypadku Cloud Functions bezpłatne korzystanie z abonamentu Blaze jest obliczane na poziomie konta Cloud Billing, a nie na poziomie projektu. Ma ono 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 przypadku Test Lab bezpłatne korzystanie z abonamentu Blaze jest objęte tymi ograniczeniami:
- 30 minut na urządzeniu fizycznym dziennie.
- 60 minut dziennie na urządzenie wirtualne
Czy limit bezpłatnego wykorzystania danych jest resetowany, gdy przechodzę z abonamentu Spark na abonament Blaze?
Bezpłatne korzystanie z abonamentu Spark jest uwzględnione w abonamencie Blaze. Korzystanie bez opłat nie jest resetowane po przejściu na abonament Blaze.
Co to jest „jednoczesne połączenie z bazą danych”?
Jednoczesne połączenie to jedno urządzenie mobilne, karta przeglądarki lub aplikacja serwera połączona z bazą danych. Firebase nakłada ścisłe limity na liczbę 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 planu Spark wynosi 100 i nie można go zwiększyć. Abonamenty Flame i Blaze mają limit 200 tys. jednoczesnych połączeń na bazę danych.
Ten limit nie jest równy łącznej liczbie użytkowników aplikacji, ponieważ nie wszyscy użytkownicy łączą się jednocześnie. Jeśli potrzebujesz ponad 200 tys. jednoczesnych połączeń, przeczytaj artykuł Wzrost skali dzięki wielu bazom danych.
Co się stanie, jeśli przekroczę limity miejsca na dane lub pobierania w ramach abonamentu Spark w Realtime Database?
Aby zapewnić przewidywalną cenę, ilość zasobów dostępnych dla Ciebie w ramach abonamentów Spark jest ograniczona. Oznacza to, że jeśli przekroczysz limit abonamentu w dowolnym miesiącu, aplikacja zostanie wyłączona, aby zapobiec dalszemu wykorzystywaniu zasobów i dodatkowym opłatom.
Co się stanie, jeśli przekroczę limity jednoczesnych połączeń w abonamencie Spark na koncie Realtime Database?
Gdy Twoja aplikacja osiągnie limit jednoczesnego działania w planie Spark, wszystkie kolejne połączenia będą odrzucane, dopóki niektóre z dotychczasowych połączeń nie zostaną zamknięte. Aplikacja będzie nadal działać na urządzeniach użytkowników, którzy są połączeni.
Jak działa integracja Firebase z Google Cloud?
Firebase jest ściśle zintegrowana z Google Cloud. Projekty są wspólne dla Firebase i Google Cloud, więc w projektach można włączyć usługi Firebase i usługi Google Cloud. Możesz uzyskać dostęp do tego samego projektu w konsoli Firebase lub w konsoli Google Cloud. Więcej szczegółów:
- Niektóre usługi Firebase są obsługiwane bezpośrednio przez Google Cloud, np. Cloud Storage for Firebase. Lista usług obsługiwanych przez Google Cloud będzie się z czasem powiększać.
- Wiele ustawień, w tym informacje o współpracownikach i informacje rozliczeniowe, jest współdzielonych przez Firebase i Google Cloud. Korzystanie z Firebase i Google Cloud jest widoczne na tej samej fakturze.
Ponadto po przejściu na abonament Blaze możesz korzystać z dowolnych interfejsów API i usług Google Cloud w ramach infrastruktury jako usługi bezpośrednio w projekcie Firebase zgodnie ze standardowymi cenami Google Cloud. Możesz też eksportować dane z Google Cloud bezpośrednio do BigQuery na potrzeby analizy. Więcej informacji znajdziesz w artykule Łączenie usługi BigQuery z Firebase.
Korzystanie z usługi Google Cloud w połączeniu z Firebase (w porównaniu z innymi usługami w chmurze, które nie są współlokowane) przynosi wiele korzyści, takich jak zwiększenie bezpieczeństwa, skrócenie czasu oczekiwania i zmniejszenie opóźnień. Więcej informacji znajdziesz na stronie Google Cloud.
Co się stanie z moim projektem Firebase, jeśli w konsoli Google Cloud dodam lub usunę konta rozliczeniowe tego projektu?
Jeśli konto Cloud Billing zostanie dodane do projektu w konsoli Google Cloud, ten sam projekt zostanie automatycznie przekształcony w abonament Firebase Blaze, jeśli jest on obecnie objęty abonamentem Spark.
Jeśli natomiast z projektu w konsoli Google Cloud usuniesz aktywne konto Cloud Billing, ten projekt zostanie przeniesiony na abonament Firebase Spark.
Czy mogę w dowolnym momencie zmienić wersję na wyższą lub niższą albo anulować subskrypcję?
Tak, w każdej chwili możesz przejść na wyższą lub niższą wersję abonamentu albo go anulować. 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 mniejszy pakiet dodatkowego miejsca lub anulujesz subskrypcję 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ą zapewnione wsparcie przez e-maila ze strony zespołu Firebase w godzinach pracy w strefie Pacyfiku (USA). 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żesz ustawić limitu wykorzystania abonamentu Blaze. Obecnie rozważamy opcje dotyczące obsługi limitów korzystania z abonamentu Blaze.
Użytkownicy Blaze mogą określić budżet dla projektu lub konta oraz otrzymywać alerty, gdy ich wydatki zbliżają się do limitów. Dowiedz się, jak skonfigurować alerty dotyczące budżetu.
Czym są automatyczne kopie zapasowe? Czy oferujecie kopie zapasowe co godzinę?
Automatyczne kopie zapasowe to zaawansowana funkcja dostępna dla klientów korzystających z abonamentu Blaze. Kopie zapasowe danych z Firebase Realtime Database są tworzone raz dziennie i przesyłane do Google Cloud Storage.
Nie oferujemy kopii zapasowych co godzinę.
Czy oferujesz rabaty dla organizacji non-profit, organizacji typu open source lub organizacji edukacyjnych?
Naszego pakietu Spark mogą używać różne osoby 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 oferujesz umowy dla firm, ceny, pomoc lub hosting dedykowanej infrastruktury?
Nasz abonament Blaze jest odpowiedni dla firm każdej wielkości, a umowa SLA spełnia lub przewyższa standard branżowy w zakresie infrastruktury chmurowej. Obecnie nie oferujemy jednak umów dla firm, cen ani pomocy. Nie oferujemy też dedykowanej infrastruktury hostingowej (czyli instalacji lokalnych) dla usług takich jak Realtime Database. Pracujemy nad dodaniem niektórych z tych funkcji.
Czy oferujesz ceny ad hoc? Chcę płacić tylko za korzystanie z jednej lub dwóch funkcji.
W ramach subskrypcji Blaze oferujemy ceny ad hoc, w których płacisz tylko za funkcje, z których korzystasz.
Jak płatne abonamenty Firebase współpracują z Ads? Czy w ramach płatnych abonamentów są dostępne bezpłatne środki na reklamę?
Pakiety cenowe Firebase są niezależne od Ads, więc nie ma bezpłatnych środków na reklamę. Jako deweloper Firebase możesz „połączyć” swoje konto Ads z Firebase, aby obsługiwać śledzenie konwersji.
Wszystkie kampanie reklamowe są zarządzane bezpośrednio w Ads, a rozliczenia Ads są zarządzane w konsoli Ads.
Cloud Functions – ceny
Dlaczego do korzystania z Cloud Functions for Firebase potrzebne jest konto rozliczeniowe?
Cloud Functions for Firebase korzysta z niektórych płatnych usług Google. Nowe wdrożenia funkcji za pomocą Firebase CLI w wersji 11.2.0 lub nowszej korzystają z Cloud Build i Artifact Registry. Wdrożenia w starszych wersjach używają usługi Cloud Build w ten sam sposób, ale miejsce na dane bazuje na Container Registry i Cloud Storage, a nie na Artifact Registry. Korzystanie z tych usług będzie rozliczane dodatkowo do dotychczasowych cen.
Miejsce na dane w interfejsie wiersza poleceń Firebase w wersji 11.2.0 i nowszych
Artifact Registry udostępnia kontenery, w których działają funkcje. Artifact Registry udostępnia pierwsze 500 MB miejsca bezpłatnie, więc pierwsze wdrożenia funkcji mogą nie wiązać się z żadnymi opłatami. Po przekroczeniu tego progu każdy dodatkowy GB miejsca na dane jest naliczany w wysokości 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. Będziesz obciążany za każdy kontener wymagany do wdrożenia funkcji. Możesz zauważyć niewielkie opłaty za każdy przechowywany kontener, np.opłatę 0,026 USD miesięcznie za 1 GB miejsca na dane.
Aby dowiedzieć się więcej o tym, jak może się zmienić Twój rachunek, zapoznaj się z tymi informacjami
- Ceny Cloud Functions: istniejący bezpłatny poziom pozostaje bez zmian.
- Ceny Cloud Build: Cloud Build to poziom bezpłatny.
- Artifact Registry ceny.
- Cennik Container Registry.
Czy Cloud Functions for Firebasenadal można używać bezpłatnie?
Tak. W przypadku abonamentu Blaze Cloud Functions zapewnia bezpłatny poziom obsługi wywołań, czasu przetwarzania i ruchu internetowego. Pierwsze 2 000 000 wywołań, 400 000 GB-sekund, 200 000 sekund procesora i 5 GB wychodzącego ruchu internetowego są dostępne bezpłatnie każdego miesiąca. Obciążymy Cię opłatami jedynie za wykorzystanie wykraczające poza te progi.
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, używając Firebase Local Emulator Suite w trakcie programowania.
Zapoznaj się z abonamentami Firebase i Cloud Functions przykładowymi scenariuszami dotyczącymi cen.
Czy Firebase planuje zwiększyć limity i kwoty Cloud Functions for Firebase?
Nie. Nie planujemy zmiany limitów, z wyjątkiem usunięcia maksymalnego limitu czasu kompilacji. Zamiast otrzymywać błędy lub ostrzeżenia po osiągnięciu dziennego limitu kompilacji wynoszącego 120 minut, będziesz obciążany zgodnie z warunkami planu cenowego Blaze. Zobacz limity.
Czy mogę otrzymać Google Cloud 300 USD środków?
Tak, możesz utworzyć konto Cloud Billing w konsoli Google Cloud, aby otrzymać środki w wysokości 300 USD, a następnie połączyć to konto Cloud Billing z projektem Firebase.
Więcej informacji o dofinansowaniu w wysokości Google Cloud znajdziesz tutaj.
Jeśli to zrobisz, musisz skonfigurować abonament Blaze w konsoli Firebase, aby projekt mógł działać dalej po wykorzystaniu środków o wartości 300 USD.
Chcę dowiedzieć się więcej o Firebase w ramach ćwiczenia z programowania. Czy mogę otrzymać tymczasowe konto rozliczeniowe?
Nie, przepraszam. Do celów programistycznych możesz używać emulatora Firebase bez posiadania konta Cloud Billing. Możesz też skorzystać z Google Cloudbezpłatnego okresu próbnego. Jeśli nadal masz problemy z opłaceniem faktury z powodu tej zmiany, skontaktuj się z zespołem pomocy Firebase.
Martwię się, że naliczę duży rachunek.
Aby kontrolować koszty, możesz skonfigurować alerty dotyczące budżetu w konsoli Google Cloud. 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 sprawdzić aktualne opłaty?
Wyświetl panel Wykorzystanie i płatności w konsoli Firebase.
Używam rozszerzeń Firebase. Czy potrzebuję konta rozliczeniowego?
Tak. Rozszerzenia korzystają z Cloud Functions, więc będą podlegać tym samym opłatom 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).
Cloud Storage for Firebase cena
Jak mogę przewidzieć, ile będę płacić za operacje przesyłania i pobierania?
Otwórz stronę z cennikiem Firebase i użyj kalkulatora abonamentu Blaze. Kalkulator wyświetla listę wszystkich typów użycia funkcji Cloud Storage for Firebase.
Za pomocą suwaków określ oczekiwane wykorzystanie zasobnika. Kalkulator oszacuje Twój miesięczny rachunek.
Co się stanie, jeśli przekroczę limity przesyłania, pobierania lub miejsca na dane w ramach Cloud Storage for Firebase?
Jeśli przekroczysz limity Cloud Storage w projekcie w abonamentem Spark, wynik zależy od przekroczonego limitu:
- Jeśli przekroczysz limit GB, nie będziesz mieć możliwości przechowywania w tym projekcie żadnych nowych danych, dopóki nie usuniesz części przechowywanych danych lub nie przejdziesz na abonament zapewniający więcej miejsca na dane lub nieograniczoną ilość miejsca na dane.
- Jeśli przekroczysz limit pobieranych GB, aplikacja nie będzie mogła pobierać więcej danych do następnego dnia (od północy czasu pacyficznego), chyba że przejdziesz na abonament z mniej restrykcyjnymi limitami lub bez limitów.
- Jeśli przekroczysz limit operacji przesyłania lub pobierania, Twoja aplikacja nie będzie mogła przesyłać ani pobierać więcej danych do następnego dnia (od północy czasu pacyficznego), chyba że przejdziesz na plan z mniej restrykcyjnymi limitami lub bez limitów.
Prywatność
Gdzie znajdę informacje o prywatności i bezpieczeństwie w Firebase?
Zapoznaj się ze stroną Prywatność i bezpieczeństwo w Firebase.
Czy pakiety SDK Firebase rejestrują jakiekolwiek informacje o użytkowaniu lub diagnostyce poza Analytics?
Tak. Obecnie dotyczy to tylko iOS, ale w przyszłości może się to zmienić. Pakiet SDK Firebase dla platform Apple domyślnie zawiera framework FirebaseCoreDiagnostics
. Firebase używa tego frameworku do zbierania informacji o użytkowaniu pakietu SDK i diagnozowaniu problemów, aby na tej podstawie ustalać priorytety przyszłych ulepszeń usługi. FirebaseCoreDiagnostics
jest opcjonalne, więc jeśli nie chcesz wysyłać dzienników diagnostycznych Firebase, możesz odłączyć bibliotekę od aplikacji. Pełny kod źródłowy, w tym zapisane wartości, znajdziesz na GitHub.
A/B Testing
A/B Testing: 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.
A/B Testing: dlaczego nie mogę wyświetlać eksperymentów po odłączeniu i ponownie połączeniu projektu z Google Analytics?
Połączenie z inną usługą Google Analytics spowoduje utratę dostępu do wcześniej utworzonych eksperymentów. Aby przywrócić dostęp do poprzedniego eksperymentu, ponownie połącz projekt z usługą Google Analytics, która była połączona podczas tworzenia eksperymentu.
A/B Testing: dlaczego podczas tworzenia eksperymentu z użyciem konfiguracji zdalnej otrzymuję 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żesz przejść z poziomu settingsUstawień 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 dla brakujących aplikacji można tworzyć 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 aplikację bez aktywnego strumienia.
- W konsoli Google Analytics kliknij kolejno Administracja, Strumienie danych i Dodaj strumień, dodaj brakujące dane aplikacji i kliknij Zarejestruj aplikację.
-
Jeśli brakuje Ci więcej niż kilku strumieni danych z aplikacji, najszybszym i najskuteczniejszym sposobem na utworzenie brakujących strumieni danych z aplikacji jest odłączenie i ponowne połączenie usługi w Google Analytics:
- 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 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 ponownie połączysz tę samą usługę), a potem kliknij Odłącz Google Analytics.
Gdy proces odłączania się zakończy, nastąpi przekierowanie na stronę Integracje. - Na karcie Google Analytics kliknij Włącz, aby rozpocząć proces ponownego łączenia.
- Na liście Wybierz konto wybierz swoje konto Analytics.
-
Obok opcji Automatycznie utwórz nową usługę na tym koncie kliknij edit Edytuj i na wyświetlonej liście Usługa Analytics wybierz identyfikator usługi.
Wyświetli się lista wszystkich aplikacji w projekcie. Wyświetlone są dotychczasowe mapowania strumieni dla każdej aplikacji, a dla aplikacji, które nie mają strumienia, zostanie utworzony nowy. - Aby ponownie połączyć usługę, kliknij Włącz Google Analytics.
- Kliknij Zakończ.
Jeśli po wykonaniu tych czynności błąd tworzenia testów A/B z użyciem Zdalnej konfiguracji nadal występuje, 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 usługą AdMob w konsoli Firebase?
Aplikację AdMob możesz połączyć z aplikacją Firebase w konsoli AdMob. Dowiedz się, jak to zrobić
AdMob: Jakie uprawnienia lub uprawnienia są mi potrzebne, aby połączyć aplikację Firebase z aplikacją AdMob?
Aby utworzyć to połączenie, musisz mieć te uprawnienia dostępu:
- AdMob: musisz być administratorem AdMob.
- Firebase: musisz mieć uprawnienia
firebase.links.create
, które są przyznawane w ramach roli właściciela i roli administratora 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 aplikacją Firebase?
W przypadku kont AdMob, które mają wielu użytkowników, tylko użytkownik, który utworzył pierwsze połączenie z Firebase i zaakceptował Warunki korzystania z usługi Firebase, może tworzyć nowe połączenia między aplikacjami AdMob a aplikacjami Firebase.
AdMob: których pakietów SDK powinienem używać do obsługi AdMob?
Jeśli chcesz używać AdMob, zawsze używaj pakietu SDK Google Mobile Ads w sposób opisany w tych najczęstszych pytaniach. Dodatkowo i opcjonalnie, jeśli chcesz zbierać dane o użytkownikach w przypadku AdMob, dodaj do aplikacji pakiet SDK Firebase dla Google Analytics.
- W przypadku projektów na iOS:
importuj pakiet SDK Google Mobile Ads, wykonując instrukcje podane w dokumentacjiAdMob na iOS. - W przypadku projektów na Androida:
Dodaj do plikubuild.gradle
zależność od pakietu SDK Google Mobile Ads:
implementation 'com.google.android.gms:play-services-ads:23.5.0'
- W przypadku projektów C++ i projektów Unity: wykonaj instrukcje podane w odpowiedniej dokumentacji.
Analytics
Analytics: Dlaczego Google Analytics jest zalecanym elementem korzystania z usług Firebase?
Google Analytics to bezpłatne narzędzie do analityki dostępne bez ograniczeń. Działa z funkcjami Firebase, aby dostarczać przydatnych statystyk. Umożliwia ona wyświetlanie dzienników zdarzeń w Crashlytics, skuteczności powiadomień w FCM, skuteczności precyzyjnych linków w Dynamic Links oraz danych o zakupach w aplikacji z Google Play. Umożliwia zaawansowane kierowanie na odbiorców w ramach Remote Config i personalizacji Remote Config.
Google Analytics działa jako warstwa inteligencji w konsoli Firebase, aby dostarczać Ci bardziej przydatnych informacji o tym, jak tworzyć aplikacje wysokiej jakości, powiększać liczbę użytkowników i zarabiać więcej pieniędzy.
Zanim zaczniesz, 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ą wykorzystywane do ulepszania innych funkcji Firebase i Google. Sposób udostępniania danych usługi 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 aktualizować ustawienia usługi, m.in.:
- Ustawienia udostępniania danych
- ustawienia przechowywania danych,
- ustawienia strefy czasowej i waluty.
Aby zaktualizować ustawienia usługi:
- W konsoli Firebase kliknij settings > Ustawienia projektu.
- Otwórz kartę Integracje, a na niej na karcie Google Analytics kliknij Zarządzaj lub Wyświetl połączenie.
- Kliknij link do konta Google Analytics, aby otworzyć ustawienia konta i usługi.
Analytics w aplikacji na iOS: czy mogę zainstalować aplikację Analytics bez funkcji atrybucji reklam i zbierania identyfikatorów IDFA?
Tak. Więcej informacji znajdziesz na stronie Konfigurowanie zbierania i wykorzystywania danych.
Analytics: co zmieniło się w sekcji Google Analytics w 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 nie widzę żadnych danych Analytics w konsoli Firebase?
Dane Analytics znajdują się w usłudze w Google Analytics, a nie w projekcie Firebase. Jeśli usuniesz usługę lub odłączysz ją, dane Analytics nie będą dostępne dla Firebase, a w konsoli Firebase zobaczysz pusty pulpit Analytics. Pamiętaj, że ponieważ dane nadal znajdują się w połączonej wcześniej usłudze, możesz zawsze ponownie połączyć usługę z Firebase i wyświetlić dane Analytics w konsoli Firebase.
Połączenie z projektem Firebase zupełnie nowego konta Google Analytics (a zatem nowej usługi w Google Analytics) spowoduje, że w konsoli Firebase pojawi się pusty panel Analytics. Jeśli jednak wcześniej połączona usługa nadal istnieje, możesz przenieść z niej istniejące dane do nowej usługi.
Analytics: czy istnieje sposób na przywrócenie usłudze Analytics i jej danych, jeśli zostały usunięte?
Nie. Jeśli Twoja usługa została usunięta, nie można jej przywrócić ani odzyskać wcześniej zebranych danych Analytics przechowywanych w tej usłudze.
Jeśli chcesz ponownie zacząć korzystać z Google Analytics, możesz połączyć z projektem Firebase nową lub dotychczasową usługę. Możesz to zrobić w konsoli Firebase lub w interfejsie 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 zacząć ponownie używać Analytics?
Jeśli chcesz ponownie zacząć korzystać z Google Analytics, możesz połączyć z projektem Firebase nową lub dotychczasową usługę. Możesz to zrobić w konsoli Firebase lub w interfejsie 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 wcześniej zebrane dane Analytics nie mogą zostać pobrane.
Analytics: jak usunięcie usługi w Analytics wpłynie na usługi Firebase lub zintegrowane usługi Google?
Kilka usług Firebase korzysta z integracji z Google Analytics. Jeśli Twoja usługa w Analytics i jej dane zostaną usunięte, a Ty korzystasz 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 rosnącej liczbie problemów.
- Cloud Messaging i In-App Messaging – nie możesz już używać kierowania, danych kampanii, podziału odbiorców na segmenty ani etykiet analitycznych.
- Remote Config – nie możesz już używać konfiguracji kierowania ani personalizacji.
- A/B Testing – nie możesz już używać parametru A/B Testing, ponieważ pomiar w eksperymencie jest dostarczany przez Google Analytics.
- Dynamic Links – każda funkcja, która korzysta z danych Google Analytics, będzie działać nieprawidłowo.
Dodatkowo te integracje zostaną wyłączone:
- Nie możesz już eksportować danych Analytics do BigQuery.
- Nie możesz już korzystać z integracji Google Ads ani Google AdMob.
Analytics: jak mogę podzielić użytkowników na segmenty na podstawie kryterium, które nie spełniają?
Możesz zmienić problem, stosując „wykluczające kierowanie” na tych użytkowników. Na przykład możesz zmienić problem na „Nie wyświetlaj reklam osobom, które coś kupiły”, a potem utworzyć listę odbiorców z tymi użytkownikami.
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, takich jak segmentacja czy zamknięte ścieżki, musisz korzystać z interfejsu Google Analytics. Możesz uzyskać dostęp do interfejsu Google Analytics bezpośrednio przez odnośniki bezpośrednie w konsoli Firebase.
Wszystkie zmiany wprowadzone w konsoli Firebase możesz też wprowadzić w Google Analytics, a zmiany te zostaną odzwierciedlone w Firebase.
Authentication
Firebase Authentication: w jakich regionach można uwierzytelniać się przez telefon?
Firebase Authentication obsługuje weryfikację numeru telefonu na całym świecie, ale nie wszystkie sieci są w stanie niezawodnie dostarczać wiadomości weryfikacyjne. W tych regionach wskaźnik dostarczalności jest wysoki i można oczekiwać, że usługa uwierzytelniania przez telefon będzie działać prawidłowo. W określonych przypadkach niektórzy przewoźnicy są niedostępni w danym regionie z powodu niskiego wskaźnika sukcesu z dostawą.
Region | Kod |
---|---|
REKLAMA | Andora |
AE | Zjednoczone Emiraty Arabskie |
AF | Afganistan |
AG | Antigua i Barbuda |
AL | Albania |
AM | Armenia |
AO | Angola |
AR | Argentyna |
AS | Samoa Amerykańskie |
AT | Austria |
AU | Australia |
AW | Aruba |
Arizona | Azerbejdżan |
BA | 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łe | Botswana |
PRZEZ | Białoruś |
BZ | Belize |
Urząd certyfikacji | Kanada |
CD | Demokratyczna Republika Konga (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 |
CO | 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 |
ET | Etiopia |
FI | Finlandia |
FJ | Fidżi |
KO | Falklandy (Malwiny) |
FM | Mikronezja |
FO | Wyspy Owcze |
FR | Francja |
OD | Gabon |
GB | Wielka Brytania |
RB | Grenada |
GE | Gruzja |
BZ | Gujana Francuska |
GG | Wyspa Guernsey |
GH | Ghana |
GI | Gibraltar |
GGL | Grenlandia |
GM | Gambia |
RM | Gwadelupa |
GQ | Gwinea Równikowa |
GR | Grecja |
GT | Gwatemala |
GY | Gujana |
HK | Specjalny Region Administracyjny Hongkong Chińskiej Republiki Ludowej |
HN | Honduras |
HR | Chorwacja |
przerwa | 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 |
KE | Kenia |
Graf wiedzy | Kirgistan |
KH | Kambodża |
KM | Komory |
KN | Saint Kitts i Nevis |
KR | Korea Południowa |
KW | Kuwejt |
KY | Kajmany |
KZ | Kazachstan |
LA | Laotańska Republika Ludowo-Demokratyczna |
LB | Liban |
LC | Saint Lucia |
LI | Liechtenstein |
LK | Sri Lanka |
LS | Lesotho |
LT | Litwa |
LU | Luksemburg |
LV | Łotwa |
LY | Libia |
MA | Maroko |
MD | Mołdawia |
Bliski Wschód | Czarnogóra |
MF | Saint-Martin (część francuska) |
MG | Madagaskar |
MK | Macedonia |
MM | Birma |
MN | Mongolia |
Missouri | Makao, Specjalny Region Administracyjny, Chiny |
MS | Montserrat |
MT | Malta |
MU | Mauritius |
MW | Malawi |
MX | Meksyk |
MY | Malezja |
MZ | Mozambik |
Nie dotyczy | Namibia |
Karolina Północna | Nowa Kaledonia |
NE | Niger |
NF | Wyspa Norfolk |
NG | Nigeria |
NI | Nikaragua |
NL | Holandia |
NIE | Norwegia |
NP | Nepal |
NZ | Nowa Zelandia |
OM | Oman |
PS | Panama |
PE | Peru |
R | Papua-Nowa Gwinea |
PH | Filipiny |
KP | Pakistan |
PL | Polska |
PM | Saint-Pierre i Miquelon |
PR | Portoryko |
PS | Terytorium Palestyńskie |
PT | Portugalia |
PY | Paragwaj |
Kontrola jakości | Katar |
RE | Reunion |
RO | Rumunia |
RS | Serbia |
RU | Rosja |
RW | Rwanda |
SA | Arabia Saudyjska |
SC | Seszele |
SE | Szwecja |
SG | Singapur |
Rzuty karne | Wyspa Świętej Heleny |
SI | Słowenia |
SK | Słowacja |
SL | Sierra Leone |
Nr seryjny | Senegal |
SR | Surinam |
ST | Wyspy Świętego Tomasza i Książęca |
SV | Salwador |
SZ | Eswatini |
TC | Turks i Caicos |
TG | Togo |
TH | Tajlandia |
kierownik zespołu | Timor Wschodni |
TM | Turkmenistan |
DO | Tonga |
TR | Turcja |
TT | Trynidad i Tobago |
TW | Tajwan, Republika Chińska |
TZ | Tanzania |
UA | Ukraina |
UG | Uganda |
Stany Zjednoczone | Stany Zjednoczone |
UY | Urugwaj |
UZ | Uzbekistan |
VC | Saint Vincent i Grenadyny |
VE | Wenezuela (Republika Boliwariańska) |
VG | Brytyjskie Wyspy Dziewicze |
VI | Wyspy Dziewicze Stanów Zjednoczonych |
VN | Wietnam |
WS | Samoa |
YE | Jemen |
YT | Majotta |
ZA | Republika Południowej Afryki |
ZM | Zambia |
ZW | Zimbabwe |
Firebase Authentication: jak mogę zapobiec nadużywaniu SMS-ów podczas uwierzytelniania przez telefon?
Aby chronić swój projekt przed pompowaniem ruchu SMS-owego i nadużyciami interfejsu API, wykonaj te czynności:
Rozważ ustawienie zasad dotyczących SMS-ów w regionie
Wyświetlanie 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 zweryfikowanych/wysłanych to wskaźnik sukcesu. Zwykle wskaźnik skuteczności mieści się w zakresie 70–85%, ponieważ SMS-y nie są przesyłane zgodnie z gwarantowanym protokołem, a w niektórych regionach mogą być nadużywane. Współczynniki sukcesu poniżej 50% wskazują na dużą liczbę wysłanych SMS-ów, ale niewielką liczbę udanych logowań, co jest częstym wskaźnikiem nieuczciwych działań i pompowania ruchu SMS-owego.
Użyj Zasad dotyczących regionów SMS-ów, aby odrzucić regiony SMS-ów o niskim współczynniku skuteczności lub zezwolić na określone regiony, jeśli aplikacja jest przeznaczona tylko do dystrybucji na określonych rynkach.
Ograniczanie autoryzowanych domen uwierzytelniania
Zarządzaj autoryzowanymi domenami na panelu Ustawienia uwierzytelniania. Aby uprościć programowanie, domena localhost
jest domyślnie dodawana do zatwierdzonych domen uwierzytelniania. Rozważ usunięcie domeny localhost
z autoryzowanych domen w produkcyjnej wersji projektu, aby uniemożliwić osobom niepożądanym uruchamianie kodu na ich localhost
w celu uzyskania dostępu do Twojego produkcyjnego projektu.
Włączanie i wymuszanie Sprawdzania aplikacji
Włącz Sprawdzanie aplikacji, aby chronić swój projekt przed nadużyciami interfejsu API. Sprawdzanie aplikacji potwierdza, że żądania pochodzą tylko z aplikacji powiązanych z Twoim projektem.
Aby korzystać ze Sprawdzania aplikacji w Firebase Authentication, musisz przejść na Firebase Authentication with 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ć przed atakami automatycznymi, 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).
Firebase Authentication: czy numery telefonów są przenoszone do nowego operatora, który jest obsługiwany przez uwierzytelnianie przez telefon?
Obecnie numery przenoszone między operatorami powodują, że użytkownicy nie mogą dostarczyć żadnych SMS-ów. Nie ma rozwiązania tego problemu, a zespół Firebase pracuje nad jego rozwiązaniem.
Firebase Authentication: dlaczego w mojej aplikacji na Androida pojawia się ten błąd:
Google sign in failed
?
Google sign in failed
Jeśli widzisz ten błąd:
GoogleFragment: Google sign in failed
com.google.android.gms.common.api.ApiException: 13: Unable to get token.
at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
Sprawdź, czy logowanie przez Google jest prawidłowo włączone jako dostawca uwierzytelniania:
W konsoli Firebase otwórz sekcję Authentication.
Na karcie Metoda logowania wyłącz, a następnie ponownie włącz metodę logowania Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google, wyłącz ją i kliknij Zapisz.
Ponownie otwórz metodę logowania Google, włącz ją, a potem 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 tak, przejdź do następnego 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 klientów OAuth 2.0 nie ma (i po wykonaniu wszystkich czynności opisanych powyżej), skontaktuj się z zespołem pomocy.
Firebase Authentication: 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 widzisz ten błąd:
You must specify |clientID| in |GIDConfiguration|
Upewnij się, że logowanie przez Google jest prawidłowo włączone jako usługa uwierzytelniania:
W konsoli Firebase otwórz sekcję Authentication.
Na karcie Metoda logowania wyłącz, a następnie ponownie włącz metodę logowania Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google, wyłącz ją i kliknij Zapisz.
Ponownie otwórz metodę logowania Google, włącz ją, a potem kliknij Zapisz.
Upewnij się, że aplikacja korzysta z aktualnego pliku konfiguracji Firebase (
GoogleService-Info.plist
).
Pobierz plik konfiguracji aplikacji.Sprawdź, czy błąd nadal występuje. Jeśli tak, przejdź do następnego kroku rozwiązywania problemów.
Upewnij się, że są obecne wymagane podstawowe klienty OAuth 2.0.
Na stronie Dane logowania konsoli Google Cloud odszukaj sekcję Identyfikatory klienta OAuth 2.0.
Jeśli klientów OAuth 2.0 nie ma (i po wykonaniu wszystkich czynności opisanych powyżej), skontaktuj się z zespołem pomocy.
Firebase Authentication: 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
Upewnij się, że logowanie przez Google jest prawidłowo włączone jako usługa uwierzytelniania:
W konsoli Firebase otwórz sekcję Authentication.
Na karcie Metoda logowania wyłącz, a następnie ponownie włącz metodę logowania Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google, wyłącz ją i kliknij Zapisz.
Ponownie otwórz metodę logowania Google, włącz ją, a potem kliknij Zapisz.
Sprawdź też, czy w sekcji Authentication konfiguracji dostawcy logowania Google identyfikator klienta OAuth i tajny klucz klienta pasują do klienta internetowego wyświetlanego na stronie Dane logowania konsoli Google Cloud (w sekcji Identyfikatory klienta OAuth 2.0).
Firebase Authentication: dlaczego w mojej aplikacji internetowej logowanie z przekierowaniami kończy się niepowodzeniem z błędem:
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 widzisz ten błąd:
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
Ten błąd jest najprawdopodobniej spowodowany tym, że Twoja domena przekierowania nie jest wymieniona jako domena autoryzowana dla usługi Firebase Authentication lub klucz interfejsu API używany w usłudze Firebase Authentication jest nieprawidłowy.
Najpierw upewnij się, że YOUR_REDIRECT_DOMAIN znajduje się na liście autoryzowanych domen w projekcie 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
i używa tego klucza do sprawdzania, czy adres URL przekierowania logowania jest prawidłowy zgodnie z listą autoryzowanych domen.
Authentication otrzymuje ten klucz API w zależności od tego, jak uzyskujesz dostęp do pakietu SDK Authentication:
Jeśli używasz udostępnionych przez Hosting pomocy w logowaniu z użyciem funkcji uwierzytelniania, aby logować użytkowników za pomocą pakietu SDK JS Authentication, Firebase automatycznie pobiera klucz API wraz z pozostałą konfiguracją Firebase za każdym razem, gdy wdrażasz pakiet Firebase Hosting. Upewnij się, że
authDomain
w aplikacji internetowejfirebaseConfig
jest prawidłowo skonfigurowana do korzystania z jednej z domen witryny Hosting. Możesz to sprawdzić, przechodząc dohttps://authDomain__/firebase/init.json
i sprawdzając, czyprojectId
jest taki sam jak wfirebaseConfig
.Jeśli sam hostujesz kod logowania, możesz użyć pliku
__/firebase/init.json
, aby przekazać konfigurację Firebase do hostowanego samodzielnie pomocnika przekierowania pakietu JS SDK Authentication. Klucz API iprojectId
wymienione w tym pliku konfiguracji powinny odpowiadać aplikacji internetowejfirebaseConfig
.
Sprawdź, czy klucz interfejsu API nie został usunięty: otwórz w konsoli Google Cloud panel Interfejsy API i usługi > Dane logowania, w którym znajdują się wszystkie klucze interfejsu API Twojego projektu.
Jeśli dokument
Browser key
nie został usunięty, sprawdź te kwestie:Upewnij się, że interfejs API Firebase Authentication znajduje się na liście dozwolonych interfejsów API dla klucza, którego chcesz użyć (dowiedz się więcej o ograniczeniach interfejsów API dotyczących kluczy API).
Jeśli kod logowania jest hostowany przez Ciebie, sprawdź, czy klucz interfejsu API podany w pliku
__/firebase/init.json
jest zgodny z kluczem interfejsu API w Cloud Console. W razie potrzeby popraw klucz w pliku, a potem ponownie wprowadź aplikację.Jeśli klucz
Browser key
został usunięty, możesz poprosić Firebase o wygenerowanie nowego klucza API: w konsoli Firebase kliknij settings > Ustawienia projektu, a potem w sekcji Twoje aplikacje kliknij swoją aplikację internetową. Ta czynność automatycznie utworzy klucz API, który możesz zobaczyć w sekcji Konfiguracja i ustawienia pakietu SDK Twojej aplikacji internetowej.
Pamiętaj, że w konsoli Cloud nowy klucz API nie będzie miał nazwy
Browser key
. Będzie on miał tę samą nazwę co pseudonim aplikacji internetowej Firebase. Jeśli zdecydujesz się dodać ograniczenia interfejsu API do tego nowego klucza interfejsu API, upewnij się, że interfejs API Firebase Authentication znajduje się na liście dozwolonych interfejsów API.Po utworzeniu nowego klucza interfejsu API wykonaj te czynności:
Jeśli używasz zarezerwowanych adresów URL Hosting, ponownie wdrożyć aplikację w Firebase, aby mogła automatycznie pobrać nowy klucz interfejsu API wraz z pozostałą konfiguracją Firebase.
Jeśli sam hostujesz kod logowania, skopiuj nowy klucz interfejsu API i dodaj go do pliku
__/firebase/init.json
, a następnie ponownie wdroń aplikację.
Firebase Authentication: 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 zgody, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, a potem wykonaj kolejne czynności opisane w tych odpowiedziach na najczęstsze pytania.
Utwórz klienta usługi internetowej OAuth:
Jako Typ aplikacji wybierz Aplikacja internetowa.
W polu Autoryzowane źródła JavaScriptu podaj te informacje:
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ę Authentication.
Na karcie Metoda logowania otwórz dostawcę logowania przez Google, a następnie wklej identyfikator klienta oraz obiekt tajny serwera WWW utworzone i skopiowane z konsoli Google Cloud. Kliknij Zapisz.
Firebase Authentication: jak określasz %APP_NAME%
w szablonie e-maila z potwierdzeniem, który może zostać wysłany do użytkownika, gdy zarejestruje się on 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 udostępniana tylko wtedy, gdy logowanie przez Google jest włączone, poniżej opisujemy sposób określania wartości %APP_NAME%
:
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, w ten sposób określana jest wartość
%APP_NAME%
w szablonie e-maila:W przypadku aplikacji internetowych wartość
%APP_NAME%
będzie domyślną nazwą witryny Firebase Hosting (wartością poprzedzającą.firebaseapp.com
i.web.app
, która zwykle jest 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 Firebase Hosting (wartością poprzedzającą.firebaseapp.com
i.web.app
oraz zwykle identyfikatorem projektu Firebase).
Pamiętaj, że jeśli nie uda się wyszukać domyślnej nazwy witryny Firebase Hosting, jako
%APP_NAME%
użyj identyfikatora projektu Firebase.
Cloud Functions
Obsługa środowiska wykonawczego Cloud Functions
Jak przejść na najnowszą obsługiwaną wersję Node.js?
- Upewnij się, że korzystasz z abonamentu Blaze.
- Upewnij się, że używasz najnowszej wersji interfejsu wiersza poleceń Firebase.
- Zaktualizuj pole
engines
w sekcjipackage.json
funkcji. - Opcjonalnie możesz przetestować zmiany za pomocą Firebase Local Emulator Suite.
- ponownie wdrożyć wszystkie funkcje.
Jak sprawdzić, czy moje 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 informacje.
Używam rozszerzeń Firebase. Czy aktualizacje środowiska wykonawczego Cloud Functions będą miały na mnie wpływ?
Tak. Rozszerzenia korzystają z Cloud Functions, więc ich środowisko uruchomieniowe musi być aktualizowane zgodnie z harmonogramem Cloud Functions.
Zalecamy okresowe aktualizowanie każdego rozszerzenia do najnowszej wersji. Rozszerzenia projektów możesz uaktualnić w konsoli Firebase lub w interfejsie wiersza poleceń Firebase.
Cloud Messaging
Cloud Messaging: jaka jest różnica między edytorem powiadomień a Cloud Messaging?
Firebase Cloud Messaging udostępnia kompletny zestaw funkcji przesyłania wiadomości za pomocą klienta SDK oraz protokołów serwera HTTP i XMPP. W przypadku wdrożeń o bardziej złożonych wymaganiach dotyczących przesyłania wiadomości odpowiednim rozwiązaniem jest FCM.
Edytor powiadomień to lekkie, bezserwerowe rozwiązanie do przesyłania wiadomości oparte na platformie Firebase Cloud Messaging. Dzięki przejrzystej konsoli graficznej i ograniczonym wymaganiom kodowania kompozytor powiadomień umożliwia użytkownikom łatwe wysyłanie wiadomości, aby zachęcać użytkowników do ponownego korzystania z aplikacji i zatrzymywać ich, rozwijać aplikację i wspierać kampanie marketingowe.
Uprawnienia | Edytor powiadomień | Cloud Messaging | |
---|---|---|---|
Wartość docelowa | Konkretne urządzenie | ||
Klienci, którzy subskrybują tematy (np. pogoda). | |||
Klienci we wstępnie zdefiniowanym segmencie użytkowników (aplikacja, wersja, język) | |||
Klienci z określonych list odbiorców Analytics | |||
Klienci w grupach urządzeń | |||
W górę od klienta do serwera | |||
Typ wiadomości | Powiadomienia o wielkości do 2 KB | ||
Wiadomości o rozmiarze do 4 KB | |||
Wyświetlanie | Natychmiast | ||
Przyszły czas lokalny urządzenia klienta | |||
Analytics | Wbudowana funkcja gromadzenia danych analitycznych dotyczących powiadomień oraz analiza ścieżki |
Cloud Messaging: firma Apple ogłosiła, że wycofuje starszy protokół binarny dla APN. Czy muszę coś zrobić?
Nie. W 2017 r. Firebase Cloud Messaging przełączyło się na protokół APNs oparty na HTTP/2. Jeśli do wysyłania powiadomień na urządzenia z iOS używasz usługi FCM, nie musisz nic robić.
Cloud Messaging: czy do korzystania z FCM muszę używać innych usług Firebase?
Możesz użyć Firebase Cloud Messaging jako samodzielnego komponentu w taki sam sposób jak w GCM, bez korzystania z innych usług Firebase.
Cloud Messaging: jestem deweloperem korzystającym z Komunikacji w chmurze Google (GCM). Czy mam przejść na Firebase Cloud Messaging?
FCM to nowa wersja GCM pod marką Firebase. Dziedziczy ona podstawową infrastrukturę GCM, a nowe pakiety SDK ułatwiają Cloud Messaging programowanie.
Zalety przejścia na pakiet SDK FCM:
- Prostsze programowanie dla klientów. Nie musisz już pisać własnej rejestracji ani ponawiania prób subskrypcji.
- gotowe rozwiązanie dotyczące powiadomień; Możesz użyć kreatora powiadomień, czyli rozwiązania do wysyłania powiadomień bez serwera z konsolą internetową, która umożliwia każdemu użytkownikowi wysyłanie powiadomień do określonych odbiorców na podstawie statystyk Google Analytics.
Aby przejść z pakietu SDK GCM na pakiet SDK FCM, zapoznaj się z przewodnikiem dotyczącym migracji aplikacji na Androida i iOS.
Cloud Messaging: dlaczego urządzenia docelowe nie otrzymują 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 wiadomości 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. Więcej informacji znajdziesz w przypadku iOS i Androida.
Ograniczenia zapory sieciowej sieci. Jeśli Twoja organizacja ma zaporę sieciową, która ogranicza ruch do internetu lub z internetu, musisz skonfigurować ją tak, aby zezwolić na połączenia z usługą FCM, aby aplikacje klienckie Firebase Cloud Messaging mogły odbierać wiadomości. Porty, które należy otworzyć, to:
- 5228
- 5229
- 5230
FCM zwykle używa 5228, ale czasami używa 5229 i 5230. FCM nie podaje konkretnych adresów IP, dlatego Twoja zapora sieciowa powinna akceptować połączenia wychodzące do wszystkich adresów IP znajdujących się w blokach adresów IP wymienionych w numerze ASN 15169 Google.
Cloud Messaging: zaimplementowałem w swojej aplikacji na Androida funkcję
onMessageReceived
, ale nie jest ona wywoływana.
Gdy aplikacja działa w tle,
wiadomości z powiadomieniami wyświetlają się w schowku systemowym i nie wywołuje się funkcji onMessageReceived
. W przypadku wiadomości z załadunkiem danych wiadomość jest wyświetlana w obszarze powiadomień, a dane zawarte w wiadomości można pobrać z intencji uruchomionej po kliknięciu powiadomienia przez użytkownika.
Więcej informacji znajdziesz w artykule Odbieranie i obsługa wiadomości.
Edytor powiadomień: jaka jest różnica między edytorem powiadomień a Cloud Messaging?
Narzędzie do tworzenia powiadomień to lekkie, bezserwerowe rozwiązanie do przesyłania wiadomości oparte na Firebase Cloud Messaging. Dzięki przejrzystej konsoli graficznej i ograniczonym wymaganiom kodowania kompozytor powiadomień umożliwia użytkownikom łatwe wysyłanie wiadomości, aby zachęcać użytkowników do ponownego korzystania z aplikacji i zatrzymywać ich, rozwijać aplikację i wspierać kampanie marketingowe.
Firebase Cloud Messaging udostępnia kompletny zestaw funkcji przesyłania wiadomości za pomocą klienta SDK oraz protokołów serwera HTTP i XMPP. W przypadku wdrożeń o bardziej złożonych wymaganiach dotyczących przesyłania wiadomości odpowiednim rozwiązaniem jest FCM.
Oto porównanie funkcji przesyłania wiadomości w usłudze Firebase Cloud Messaging i w edytorze powiadomień:
Uprawnienia | Edytor powiadomień | Cloud Messaging | |
---|---|---|---|
Wartość docelowa | Konkretne urządzenie | ||
Klienci, którzy subskrybują tematy (np. pogoda). | |||
Klienci we wstępnie zdefiniowanym segmencie użytkowników (aplikacja, wersja, język) | |||
Klienci z określonych list odbiorców Analytics | |||
Klienci w grupach urządzeń | |||
W górę od klienta do serwera | |||
Typ wiadomości | Powiadomienia o wielkości do 2 KB | ||
Wiadomości o rozmiarze do 4 KB | |||
Wyświetlanie | Natychmiast | ||
Przyszły czas lokalny urządzenia klienta | |||
Analytics | Wbudowane zbieranie danych analitycznych powiadomień i analiza ścieżek |
Edytor powiadomień: jestem deweloperem Google Cloud Messaging (GCM) i chcę używać Edytora powiadomień. Co mam zrobić?
Edytor powiadomień to gotowe rozwiązanie, które umożliwia każdemu użytkownikowi wysyłanie powiadomień do określonych odbiorców na podstawie statystyk Google Analytics. Poza tym edytor powiadomień udostępnia 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 SDK FCM. Zapoznaj się z przewodnikami dotyczącymi migracji aplikacji na Androida i iOS.
Funkcje FCM zostaną wycofane w czerwcu 2023 r.
Które interfejsy FCM zostały wycofane 20 czerwca 2023 r. i co mam zrobić, jeśli ich używam?
Ta zmiana będzie 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 wysyłane do punktu końcowego zaczną się nie powieść. | Przejdź na interfejs HTTP API w wersji 1. |
Starszy protokół XMPP | fcm-xmpp.googleapis.com:5235 | Po 21 czerwca 2024 r. żądania wysyłane do punktu końcowego zaczną się nie powieść. | Przejdź na interfejs HTTP API w wersji 1. |
Interfejsy API serwera Instance ID | https://iid.googleapis.com/v1/web/iid | Po 21 czerwca 2024 r. żądania wysyłane do punktu końcowego zaczną się nie powieść. | Aby tworzyć rejestracje internetowe FCM, użyj Web JS SDK. |
https://iid.googleapis.com/iid/* | Punkty końcowe będą nadal działać, ale po 21 czerwca 2024 r. nie będą obsługiwać uwierzytelniania przy użyciu statycznych kluczy serwera. | Użyj tokena dostępu OAuth 2.0 wygenerowanego na podstawie 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 wygenerowanego na podstawie konta usługi. |
Komunikowanie się z serwerem za pomocą 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. | Wprowadź 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. Przykład implementacji przesyłania wiadomości w dół za pomocą gRPC znajdziesz w krótkim przewodniku po gRPC. |
Interfejs API wysyłania zbiorczego | https://fcm.googleapis.com/batch | Po 21 czerwca 2024 r. żądania wysyłane do punktu końcowego zaczną się nie powieść. | Przejdź na standardową metodę wysyłania interfejsu API HTTP v1, która obsługuje HTTP/2 do multipleksowania. |
Interfejsy API pakietu Firebase Admin SDK
Nazwa interfejsu API | Język interfejsu 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 starszy interfejs API send HTTP. | Użyj metody send() .
|
sendToDeviceGroup()
|
Node.js | Po 21 czerwca 2024 r. interfejs API przestanie działać, ponieważ wywołuje starszy interfejs API send HTTP. | Użyj metody send() .
|
sendToTopic()
|
Node.js | Po 21 czerwca 2024 r. interfejs API przestanie działać, ponieważ wywołuje starszy interfejs API send HTTP. | Użyj metody send() .
|
sendToCondition()
|
Node.js | Po 21 czerwca 2024 r. interfejs API przestanie działać, ponieważ wywołuje starszy interfejs API send HTTP. | 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 . | Zaktualizuj pakiet Firebase Admin SDK do najnowszej wersji i zamiast tego korzystaj z nowych interfejsów API: sendEach()/
sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/
send_each_for_multicast() .
Pamiętaj, że nowe interfejsy API nie wywołują już przestarzałego interfejsu API do zbiorczego wysyłania. Z tego powodu mogą tworzyć więcej równoczesnych połączń HTTP niż stare interfejsy API. |
Pakiety SDK klienta
Wersje pakietu SDK | Wpływ na użytkowników | Wymagane działanie |
---|---|---|
Pakiety SDK GCM (wycofane w 2018 r.) | Po 21 czerwca 2024 r. aplikacje korzystające z pakietów SDK GCM nie będą mogły rejestrować tokenów ani odbierać wiadomości z FCM. | Jeśli jeszcze tego nie zrobiono, zaktualizuj pakiet SDK Androida do najnowszej wersji pakietu Firebase SDK. |
Wersja pakietu JS SDK <7.0.0 (w 2019 r. wprowadzono zmianę powodującą niezgodność w wersji 7.0.0) | Po 21 czerwca 2024 r. aplikacje internetowe korzystające ze starszych pakietów SDK JavaScript nie będą mogły rejestrować tokenów. | Zaktualizuj pakiet SDK Firebase Web do najnowszej wersji. |
Czy zobaczę możliwość zmiany usługi na niższą przed czerwcem 2024 roku?
Nie. Masz 12 miesięcy (od 20.06.2023 r. do 21.06.2024 r.) na przejście ze starych interfejsów API na nowe bez obniżenia jakości usług. Zdecydowanie zalecamy jak najszybsze zaplanowanie migracji, aby nie stracić dostępu do interfejsów API w czerwcu 2024 r.
Po czerwcu 2024 r. możesz zauważyć wzrost liczby błędów lub brak funkcji podczas korzystania z wymienionych wyżej interfejsów API i pakietów SDK (więcej informacji znajdziesz w odpowiedzi na kolejne najczęstsze pytania).
Jak i kiedy wycofane interfejsy API zostaną wyłączone?
FCM zacznie stopniowo wyłączać wycofane interfejsy API około 22 lipca 2024 r. 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 zmniejszania intensywności możesz spodziewać się zwiększenia częstotliwości występowania tych zachowań i błędów:
Kategoria | Czego możesz oczekiwać |
---|---|
Starszy protokół HTTP | żądania są odrzucane z kodem HTTP 301, |
Starszy protokół XMPP | Żądania są odrzucane z kodem błędu 302. |
FCM Upstream | Wiadomości są pomijane przez backend FCM w sposób dyskretny. |
Interfejs API wysyłania zbiorczego | Żądania zostały odrzucone z kodem błędu UNIMPLEMENTED i komunikatem o błędzie „Interfejs API został wycofany”. |
Pakiety SDK GCM – tokeny rejestracji | Żą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”. |
Wersja pakietu JS SDK < 7.0.0 | żądania są odrzucane z kodem HTTP 501. |
Korzystanie z klucza serwera do uzyskiwania dostępu do interfejsów API zarządzania identyfikatorem instancji i grupą urządzeń | żądania są odrzucane z kodem HTTP 401; |
Jaka jest różnica między tokenami OAuth 2.0 a kluczami serwera?
Token OAuth 2.0 to krótkotrwały token pochodzący z konta usługi. To standardowy model uwierzytelniania Google, który jest bezpieczniejszy niż statyczne klucze serwera.
Aby dowiedzieć się, jak używać Google Auth Library do uzyskiwania tokenów dostępu, zapoznaj się z artykułem Używanie danych logowania do tworzenia 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
- Interfejs API serwera tożsamości instancji i interfejs API zarządzania grupami urządzeń:
Authorization: Bearer $oauth_token
access_token_auth: true
Czy mogę przenieść wszystkie żądania do nowego interfejsu API?
Zalecamy stopniowe zwiększanie ruchu do nowego interfejsu API. Jeśli spodziewasz się, że będziesz regularnie wysyłać ponad 600 tys. wiadomości na minutę, skontaktuj się z zespołem pomocy Firebase, aby uzyskać instrukcje dotyczące zwiększenia limitu lub porady dotyczące rozłożenia ruchu.
Jakie są różnice między interfejsem HTTP w wersji 1 a starszych interfejsami API, gdy wysyłam wiadomości do grup tematów lub urządzeń?
Tematy: jeśli korzystasz z interfejsu API w wersji 1, nie musisz dodawać prefiksu „/topics/” do kierowania na temat.
Grupy urządzeń: token grupy może być celem tokena w interfejsie API HTTP w wersji 1. Interfejs HTTP w wersji 1 nie zwraca jednak w odpowiedzi liczby sukcesów ani niepowodzeń. 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, zwana „multicastem” w starszych interfejsach HTTP API, nie jest obsługiwana przez interfejs HTTP API w wersji 1, który jest lepiej zaprojektowany pod kątem skalowalności.
W przypadkach, gdy opóźnienie end-to-end ma kluczowe znaczenie lub gdy łączna liczba wyprowadzeń jest niewielka (mniej niż 1 milion), Google zaleca wysyłanie wielu oddzielnych żądań za pomocą interfejsu HTTP API w wersji 1. Interfejs API HTTP w wersji 1 przez HTTP/2 działa podobnie w przypadku 99,9% żądań multicast (wysyłanie mniej niż 100 tokenów). W przypadku nietypowych przypadków użycia (wysyłanie 1000 tokenów) osiąga ona do jednej trzeciej przepustowości, dlatego do optymalizacji 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 przypadku zastosowań, w których priorytetem jest przepustowość i przepustowość wyjściowa, lub gdy całkowita liczba rozgałęzień jest duża (ponad 1 mln), Google zaleca wiadomości o tematyce. 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.
W jakich wersjach pakietu Admin SDK Firebase są dostępne nowe interfejsy API?
Platforma | Wersja pakietu Firebase Admin SDK |
---|---|
Node.js | >=11.7.0 |
Python | >=6.2.0 |
Java | >=9.2.0 |
Go | >=4.12.0 |
.NET | >=2.4.0 |
Jaka jest różnica między interfejsem API do zbiorczego wysyłania a interfejsem API HTTP w wersji 1?
Interfejs FCM do zbiorczego wysyłania używa tego samego formatu wiadomości i mechanizmu uwierzytelniania co interfejs HTTP w wersji 1. Korzysta jednak z innego punktu końcowego. Jeśli chcesz zwiększyć wydajność, rozważ użycie HTTP/2 do wysyłania wielu żądań przez to samo połączenie HTTP do interfejsu API HTTP w wersji 1.
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 przypadku nowych projektów nie będzie już można włączać starszych interfejsów API.
Kiedy mogę wyłączyć starszy interfejs Cloud Messaging API?
Po upewnieniu się, że masz już pełną migrację do interfejsu API HTTP w wersji 1, możesz wyłączyć starszą wersję Cloud Messaging API (strona może się nie załadować, jeśli ten interfejs API został już wyłączony).
FCM limity i kwoty
Muszę powiadomić dużą grupę klientów w ciągu 2 minut.
Niestety nie możemy obsługiwać tego przypadku użycia. Musisz rozłożyć ruch na 5 minut.
Moja aplikacja wysyła użytkownikom powiadomienia o zdarzeniach. Aby wspierać mój model biznesowy, wiadomości muszą być dostarczane natychmiast. Czy mogę otrzymać większą pulę?
Niestety z tego powodu nie możemy zwiększyć limitu. Musisz rozłożyć ruch na 5 minut.
Moje wiadomości dotyczą zaplanowanych wydarzeń i potrzebuję, aby cały ruch był wysyłany na początku godziny.
Zalecamy rozpoczęcie wysyłania powiadomień co najmniej 5 minut przed wydarzeniem.
Ile czasu zajmie rozpatrzenie mojego żądania dotyczącego limitu?
Zależy to trochę od tego, jak używasz FCM. W każdym razie odpowiedź powinna nadejść w ciągu kilku dni roboczych. W niektórych przypadkach może być konieczne przeanalizowanie sposobu korzystania z FCM oraz różnych okoliczności, co może wydłużyć proces. Jeśli spełniasz wszystkie wymagania, większość zgłoszeń rozpatrujemy w ciągu 2 tygodni.
Jak mogę monitorować wykorzystanie limitu?
Zapoznaj się ze wskazówkami Google Cloud dotyczącymi tworzenia wykresów i monitorowania danych dotyczących limitu.
Błędy 429 są dla mnie / mojej firmy trudne do rozwiązania. Czy mogę uzyskać wyłączenie lub większy limit, aby uniknąć błędów 429?
Zdajemy sobie sprawę, że limity mogą być uciążliwe, ale są one niezbędne do zapewnienia niezawodności usługi. Nie możemy przyznawać wyjątków.
Czy mogę uzyskać więcej limitu na czasowy wzrost zapotrzebowania na zasoby?
Możesz poprosić o dodatkową pulę na potrzeby wydarzenia trwającego do 1 miesiąca. Prześlij prośbę co najmniej na 1 miesiąc przed wydarzeniem, podając wyraźne informacje o dacie rozpoczęcia i zakończenia wydarzenia. FCM dołoży wszelkich starań, aby spełnić Twoje żądanie (nie możemy jednak zagwarantować wzrostu). Po zakończeniu wydarzenia te zwiększenia limitów zostaną cofnięte.
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 będzie Cię o takich zmianach informować z wyprzedzeniem.
Cloud Storage for Firebase
Cloud Storage for Firebase: dlaczego nie mogę używać Cloud Storage for Firebase?
Cloud Storage for Firebase tworzy zasobnik domyślny na poziomie bezpłatnym App Engine. Dzięki temu możesz szybko rozpocząć korzystanie z Firebase i Cloud Storage for Firebase bez konieczności podawania karty kredytowej ani włączania konta Cloud Billing. Umożliwia też łatwe udostępnianie danych między Firebase a projektem Google Cloud.
Są jednak 2 znane przypadki, w których nie można utworzyć tego zasobnika i nie można użyć Cloud Storage for Firebase:
- Projekt zaimportowany z Google Cloud, który zawierał aplikację App Engine Master/Slave Datastore.
-
Projekt zaimportowany z: Google Cloud, który zawiera projekty z prefiksem domeny. Na przykład:
domain.com:project-1234
.
Obecnie nie ma obejścia tych problemów. Zalecamy utworzenie nowego projektu w konsoli Firebase i włączenie w nim funkcji Cloud Storage for Firebase.
Cloud Storage for Firebase: dlaczego podczas korzystania z interfejsu API Cloud Storage for Firebase otrzymuję odpowiedzi dotyczące uprawnień konta usługi i nieudanych operacji na koncie usługi z kodem błędu 412?
Najprawdopodobniej otrzymujesz kody błędów 412, ponieważ interfejs API Cloud Storage for Firebase nie jest włączony w Twoim projekcie lub niezbędne konto usługi nie ma wymaganych uprawnień.
Zobacz powiązane najczęstsze pytania.
Cloud Storage for Firebase: czy w projektach w ramach subskrypcji Spark mogę przechowywać pliki wykonywalne?
W przypadku projektów w bezpłatnym planie (Spark) Firebase blokuje przesyłanie i hostowanie niektórych typów plików wykonywalnych na systemy Windows, Android i Apple za pomocą funkcji Cloud Storage for Firebase i Firebase Hosting. Te zasady mają zapobiegać 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 planie Spark. Nie dotyczy to projektów w planie taryfowym „Pay as you go” (Blaze).
Na serwerach Firebase Hosting i Cloud Storage for Firebase nie można hostować plików tych typów:
- Pliki systemu Windows z rozszerzeniami
.exe
,.dll
i.bat
- pliki Androida z rozszerzeniem
.apk
, - Pliki platformy Apple z rozszerzeniem
.ipa
Co muszę zrobić?
Jeśli nadal chcesz hostować te typy plików po 28 września 2023 r.:
- W przypadku Hostingu: przejdź na abonament Blaze, aby móc wdrożyć te typy plików w Firebase Hosting za pomocą polecenia
firebase deploy
. - Pamięć: 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.
Zarządzaj zasobami Firebase Hosting i Cloud Storage za pomocą narzędzi Firebase.
- Aby zarządzać zasobami w Firebase Hosting, użyj konsoli Firebase, aby usunąć wersje zgodnie z tym przewodnikiem.
- Aby zarządzać zasobami w Cloud Storage, otwórz w projekcie stronę produktu Storage.
- 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 zasobami Hostingu za pomocą narzędzi Firebase i zasobnikami Cloud Storage dla Firebase za pomocą bibliotek klienckich znajdziesz w naszej dokumentacji.
Cloud Storage for Firebase: Dlaczego widzę nieoczekiwany wzrost liczby operacji przesyłania i pobierania?
Wcześniej żądania pobrania i przesłania danych do interfejsu API Cloud Storage for Firebase nie były zliczane prawidłowo. Podjęliśmy działania, aby rozwiązać ten problem. Od 15 września 2023 r.
W przypadku użytkowników Blaze operacje przesyłania i pobierania zaczną być uwzględniane w miesięcznym rachunku. W przypadku użytkowników Spark zaczną one być wliczane do limitu bezpłatnych wyświetleń miesięcznie.
Zalecamy sprawdzanie strony Użycie pod kątem wzrostu, który może wpływać na limity.
Cloud Storage for Firebase: dlaczego widzę nowe identyfikatory kont usługi powiązane z moimi projektami Firebase, które korzystają z projektu Cloud Storage for Firebase?
Firebase używa kont usług do obsługi usług i zarządzania nimi bez udostępniania danych logowania użytkowników. Podczas tworzenia projektu Firebase możesz zauważyć, że w Twoim projekcie jest już dostępnych kilka kont usługi.
Konto usługi używane przez Cloud Storage for Firebase jest ograniczone do Twojego projektu i ma nazwę service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
.
Jeśli korzystasz z Cloud Storage for Firebase przed 19 września 2022 r., możesz zobaczyć dodatkowe konto usługi w połączonych wcześniej zasobnikach Cloud Storage 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 Twoim projektem możesz wyświetlić w konsoli Firebase na karcie Konta usługi.
Dodawanie nowego konta 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, że wywołasz 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
.
Usuwanie nowego konta usługi
Nie zalecamy usuwania konta usługi, ponieważ może to spowodować zablokowanie dostępu do Twoich aplikacji do katalogów Cloud Storage. Aby usunąć konto usługi z projektu, wykonaj instrukcje podane w artykule Wyłączanie konta usługi.
Crashlytics
Aby uzyskać pomocne wskazówki i odpowiedzi na najczęstsze pytania, odwiedź Crashlyticsstronę z najczęstszymi pytaniami i rozwiązaniami problemów.
Dynamic Links
Dynamic Links: jakie są plany Dynamic Links na przyszłość?
Dynamic Links: Dlaczego moja aplikacja na Androida uzyskuje dostęp do każdego linku dynamicznego dwa razy?
Interfejs API getInvitation
usuwa zapisany dynamiczny link, aby zapobiec jego dwukrotnemu wykorzystaniu. 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.
Firebase Local Emulator Suite
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 działać emulator konkretnego produktu przy użyciu różnych identyfikatorów projektu. Może to wskazywać na nieprawidłową konfigurację i może powodować problemy, gdy emulatory próbują komunikować się ze sobą, a Ty próbujesz wchodzić z nimi w interakcję 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 Local Emulator Suite będzie zezwalać teraz na uruchamianie tylko z 1 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żliwe, że wyrzuci krytyczny błąd.
Sprawdź deklaracje identyfikatora projektu pod kątem niezgodności w tych kwestiach:
-
Projekt domyślny 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
. Podanie parametru Firebase wiersza poleceń--project
zastąpi domyślny projekt. Musisz sprawdzić, czy wartość flagi jest zgodna z identyfikatorem projektu w testach jednostkowych i inicjowaniu aplikacji.
Miejsca do sprawdzenia na poszczególnych platformach:
Sieć | Właściwość projectId w obiekcie JavaScript firebaseConfig , używana w obiekcie initializeApp .
|
Android | 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 parametr firebase.json
za pomocą klucza singleProjectMode
:
{ "firestore": { ... }, "functions": { ... }, "hosting": { ... }, "emulators": { "singleProjectMode": false, "auth": { "port": 9099 }, "functions": { "port": 5001 }, ... } }
Hosting
Hosting: Czy w projektach abonamentu Spark mogę przechowywać pliki wykonywalne?
W przypadku projektów w bezpłatnym planie (Spark) Firebase blokuje przesyłanie i hostowanie niektórych typów plików wykonywalnych na systemy Windows, Android i Apple za pomocą funkcji Cloud Storage for Firebase i Firebase Hosting. Te zasady mają zapobiegać 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 planie Spark. Nie dotyczy to projektów w planie taryfowym „Pay as you go” (Blaze).
Na serwerach Firebase Hosting i Cloud Storage for Firebase nie można hostować plików tych typów:
- Pliki systemu Windows z rozszerzeniami
.exe
,.dll
i.bat
- pliki Androida z rozszerzeniem
.apk
, - Pliki platformy Apple z rozszerzeniem
.ipa
Co muszę zrobić?
Jeśli nadal chcesz hostować te typy plików po 28 września 2023 r.:
- W przypadku Hostingu: przejdź na abonament Blaze, aby móc wdrożyć te typy plików w Firebase Hosting za pomocą polecenia
firebase deploy
. - Pamięć: 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 Firebase Hosting i Cloud Storage.
- Jeśli chcesz zarządzać zasobami w regionie Firebase Hosting, użyj konsoli Firebase, aby usunąć wersje zgodnie z tym przewodnikiem.
- Aby zarządzać zasobami w Cloud Storage, otwórz w projekcie stronę produktu Storage.
- 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 zasobami Hostingu za pomocą narzędzi Firebase i zasobnikami Cloud Storage dla Firebase za pomocą bibliotek klienckich znajdziesz w naszej dokumentacji.
Hosting: dlaczego w tabeli historii wersji Hosting w konsoli Firebase liczba plików jest większa niż liczba plików w moim lokalnym projekcie?
Firebase automatycznie dodaje dodatkowe pliki z metadanymi dotyczącymi witryny Hosting. Plików tych nie uwzględnia się w łącznej liczbie plików danej wersji.
Hosting: jaki jest największy rozmiar pliku, który mogę wdrożyć do usługi Firebase Hosting?
Hosting ma maksymalny rozmiar poszczególnych plików wynoszący 2 GB.
Zalecamy przechowywanie większych plików za pomocą Cloud Storage, który oferuje maksymalny limit rozmiaru w zakresie terabajtów dla poszczególnych obiektów.
Hosting: ile Hosting witryn mogę mieć w każdym projekcie Firebase?
Funkcja Firebase Hosting obsługi wielu witryn obsługuje maksymalnie 36 witryn na projekt.
Performance Monitoring
Aby uzyskać pomocne wskazówki i odpowiedzi na najczęstsze pytania, odwiedź Performance Monitoringstronę z najczęstszymi pytaniami i rozwiązaniami problemów.
Performance Monitoring: ile niestandardowych wzorów adresów URL mogę utworzyć?
Możesz utworzyć łącznie maksymalnie 400 niestandardowych wzorów adresów URL na aplikację i maksymalnie 100 niestandardowych wzorów adresów URL na domenę tej aplikacji.
Performance Monitoring: Dlaczego dane o skuteczności nie są wyświetlane w czasie rzeczywistym?
Aby wyświetlać dane o wydajności w czasie rzeczywistym, sprawdź, czy Twoja aplikacja używa pakietu SDK w wersji Performance Monitoring, który jest zgodny 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 (lub Firebase Android BoM 26.1.0 lub nowsza)
- Internet – wersja 7.14.0 lub nowsza
Pamiętaj, że zawsze zalecamy używanie najnowszej wersji pakietu SDK, ale każda wersja wymieniona powyżej umożliwi Performance Monitoring przetwarzanie danych w czasie zbliżonym do rzeczywistego.
Realtime Database
Realtime Database: dlaczego w okresie od września 2016 r. do marca 2017 r. moje Realtime Database było raportowane jako niższe niż średnia?
Przy obliczaniu przepustowości zwykle uwzględniamy narzut szyfrowania SSL (na podstawie warstwy 5 modelu OSI). Jednak we wrześniu 2016 r. pojawił się błąd, który spowodował, że nasze raporty dotyczące przepustowości ignorowały obciążenie związane z szyfrowaniem. Może to spowodować sztucznie niską odnotowaną przepustowość i rachunki na Twoim koncie przez kilka miesięcy.
Pod koniec marca 2017 r. wprowadziliśmy poprawkę, która przywróciła normalne raportowanie i obliczanie opłat za wykorzystanie przepustowości.
Realtime Database: jakie są ograniczenia skalowania usługi Realtime Database?
W każdej instancji Realtime Database obowiązują limity liczby operacji zapisu na sekundę. W przypadku małych operacji zapisu 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ść.
Ponadto każda instancja bazy danych ma ograniczenie liczby jednoczesnych połączeń z bazą danych. Domyślne limity są wystarczające dla większości aplikacji. Jeśli tworzysz aplikację, która wymaga dodatkowej skali, możesz utworzyć jej kopie na wielu instancjach bazy danych, aby zwiększyć skalę. Jako alternatywną bazę danych możesz też rozważyć Cloud Firestore.
Realtime Database: co mogę zrobić, jeśli przekroczę limity Realtime Database wykorzystania?
Jeśli otrzymasz e-maila z ostrzeżeniem lub powiadomieniem w konsoli Firebase, że przekroczysz limit korzystania z usługi Realtime Database, możesz rozwiązać ten problem, korzystając z limitu, który został przekroczony. Aby sprawdzić wykorzystanie Realtime Database, otwórz panel Realtime Database Wykorzystanie w konsoli Firebase.
Jeśli przekroczysz limit pobierania, możesz przejść na wyższy abonament Firebase lub poczekać, aż limit pobierania zostanie zresetowany na początku następnego okresu rozliczeniowego. Aby zmniejszyć liczbę pobrań, wykonaj te czynności:
- Dodaj zapytania, aby ograniczyć dane zwracane przez operacje odsłuchiwania.
- Sprawdź, czy nie ma zapytań niezaindeksowanych.
- Użyj odbiorców, którzy 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:
- okresowe uruchamianie zadań sprzątania;
- Zmniejsz liczbę zduplikowanych danych w bazie danych.
Pamiętaj, że może minąć trochę czasu, zanim usunięcie danych zostanie uwzględnione w Twoim przydziale miejsca na dane.
Jeśli przekroczysz limit jednoczesnych połączeń z bazą danych, przejdź na wyższy abonament, aby uniknąć przerw w działaniu usługi. Aby zarządzać jednoczesnymi połączeniami z bazą danych, spróbuj połączyć się z użytkownikami za pomocą interfejsu REST API, jeśli nie wymagają połączenia w czasie rzeczywistym.
Remote Config
Remote Config: dlaczego pobrane wartości nie zmieniają zachowania ani wyglądu 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, aby mogły zacząć obowiązywać, wywołaj funkcję activate
. Dzięki temu możesz kontrolować, kiedy zachowanie i wygląd aplikacji ulegają zmianie, ponieważ możesz wybrać, kiedy wywołać funkcję activate
. Po wywołaniu funkcjiactivate
kod źródłowy aplikacji określa, kiedy są używane 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 zachowania i wyglądu aplikacji nastąpią, gdy aplikacja będzie używać zaktualizowanych wartości parametrów.
Więcej informacji o interfejsie Remote Config API i jego modelu użycia znajdziesz w artykule Omówienie interfejsu Remote Config API.
Remote Config: podczas tworzenia aplikacji wysyłam wiele żądań pobierania. Dlaczego moja aplikacja nie zawsze otrzymuje 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 do 10 deweloperów, możesz tymczasowo ustawić w aplikacji obiekt FirebaseRemoteConfigSettings
z krótkim minimalnym odstępem pobierania (setMinimumFetchIntervalInSeconds
).
Remote Config: jak szybko usługa Remote Configzwraca pobrane wartości po wysłaniu przez aplikację żądania pobierania?
Urządzenia zwykle otrzymują pobrane wartości w mniej niż sekundę, a często w milisekundach. Usługa Remote Config obsługuje żądania pobierania w ciągu 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 chcesz, aby pobrane wartości zaczęły działać w aplikacji tak szybko, jak to możliwe, ale bez wywoływania nieprzyjemnych reakcji użytkownika, rozważ dodanie wywołań do funkcji fetchAndActivate
za każdym razem, gdy aplikacja wykonuje pełne odświeżanie ekranu.
Test Lab
Aby uzyskać przydatne wskazówki i odpowiedzi na najczęstsze pytania, odwiedź Test Labstronę z informacjami o rozwiązywaniu problemów.
Pamięć segmentacji użytkowników Firebase
Co to jest miejsce na dane segmentacji użytkowników Firebase?
Pamięć masowa Firebase do podziału użytkowników na segmenty przechowuje Firebaseidentyfikatory instalacji oraz powiązane atrybuty i segmenty, a także utworzone przez Ciebie listy odbiorców, aby udostępniać informacje o kierowaniu innym usługom Firebase, które ich używają, np. Crashlytics, FCM, Remote Config personalizacja.