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 na StackOverflow.
Projekty 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 nich pakiety SDK Firebase dla poszczególnych usług, takie jak 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, aby obsługiwać różne środowiska, np. środowisko programistyczne, środowisko testowe 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 – ogólne sprawdzone metody konfigurowania projektów Firebase i rejestrowania w nich aplikacji, dzięki którym będziesz mieć jasny proces programowania, korzystający z oddzielnych środowisk.
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ć istniejące projekty Google Cloud zarządzane w konsoli Google Cloud lub konsoli interfejsów API Google.
Możesz dodać Firebase do tych istniejących projektów Google Cloud, korzystając z jednej z tych opcji:
- Korzystanie z konsoli Firebase.
- Korzystanie z opcji programowej:
- Wywołaj punkt końcowy interfejsu Firebase Management API:
projects.addFirebase
. - Uruchom polecenie interfejsu wiersza poleceń Firebase:
firebase projects:addfirebase
. - Użyj Terraform.
- Wywołaj punkt końcowy interfejsu Firebase Management API:
Dowiedz się więcej o dodawaniu Firebase do projektu Google Cloud.
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. Do tego samego projektu możesz uzyskać dostęp z konsoli Firebase lub 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 Cloudbędzie się z czasem rozrastać.
- 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 usług Google Cloud i interfejsów API typu „infrastruktura jako usługa” 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.
Dlaczego mój projekt Google Cloud ma etykietę
firebase:enabled
?
Na stronie Etykiety projektu w konsoli Google Cloud możesz zobaczyć etykietę firebase:enabled
(a dokładniej Key
z firebase
i Value
z 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 związku między projektami Firebase a Google Cloud.
Zdecydowanie zalecamy, aby nie modyfikować ani nie usuwać tej etykiety. Ta etykieta jest używana przez Firebase i Google Cloud do wyświetlania listy projektów Firebase (np. za pomocą punktu końcowego interfejsu API REST projects.list
lub w menu w konsoli Firebase).
Pamiętaj, że ręczne dodanie tej etykiety do listy etykiet projektu NIE 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 za pomocą interfejsu API REST do zarządzania Firebase lub interfejsu wiersza poleceń Firebase).
Dlaczego mój projekt Firebase nie wyświetla się na liście projektów Firebase?
Ten artykuł z najczęściej zadawanymi pytaniami jest odpowiedni, 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, wpisują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 tej etykiety nie widzisz, ale w Twoim projekcie włączono interfejs Firebase Management API, dodaj ją ręcznie (czyliKey
zfirebase
zValue
zenabled
). - 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że być konieczne przyznanie dodatkowych uprawnień, aby wyświetlić go 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 koncie?
- Plan cen Spark – limit projektów jest ograniczony do niewielkiej liczby projektów (zwykle 5–10).
- Plan cen taryfy Blaze – limit projektu na konto Cloud Billing zwiększa się znacznie, o ile konto Cloud Billing ma 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 przekroczy pewien limit, niektóre funkcje usługi przestaną działać. Jeśli dodatkowo używasz logowania w Google jako dostawcy uwierzytelniania, dla każdej aplikacji w projekcie zostanie utworzony podstawowy 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. Więcej szczegółowych wskazówek znajdziesz w 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 przekazać ją do oceny. 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 oznaczać projekty Firebase tagami z rodzajem środowiska: produkcyjnym lub nieokreślonym (nieprodukcyjnym).
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, w konsoli Firebase dodamy do niego tag Prod w jasnym kolorze, aby przypomnieć Ci, że wszelkie zmiany mogą mieć wpływ na powiązane aplikacje produkcyjne. W przyszłości możemy dodać więcej funkcji i zabezpieczeń dla projektów Firebase oznaczonych jako środowiska produkcyjne.
Aby zmienić typ środowiska 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 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ć jej informacje, 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 warunki wstępne musisz spełnić, aby połączyć Google Play / AdMob / Google Ads / BigQuery z moją aplikacją lub projektem Firebase?
- Aby połączyć kontoGoogle Play, musisz mieć:
- rolę Właściciel lub Administrator Firebase
, - jeden z tych Google Playpoziomów dostępu: Właściciel (konta) lub Administrator.
- rolę 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 pakiet Firebase zawiera plik NOTICES, który zawiera odpowiednie wpisy. Pakiet SDK Firebase na Androida zawiera element pomocniczy Activity
do wyświetlania informacji o licencji.
Uprawnienia i dostęp do projektów Firebase
Jak przypisać użytkownikowi projektu rolę, np. rolę Właściciel?
Aby zarządzać rolami przypisanymi do poszczególnych członków projektu, musisz być właścicielem projektu Firebase (lub mieć przypisaną rolę z uprawnieniami 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 Firebase 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ć kontom usługi dostęp do projektu.
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 należy do organizacji Google Cloud, może nie mieć właściciela. Jeśli nie możesz znaleźć właściciela projektu Firebase, skontaktuj się z osobą zarządzającą organizacją Google Cloud, aby przypisać właściciela do 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 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 uprawnień 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 są dostępne dla właściciela. Jednak aby wykonać niektóre zadania związane z właścicielem (takie jak przypisywanie ról czy zarządzanie usługami Google Analytics), administrator może potrzebować rzeczywistej roli właściciela, aby wykonać 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 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 zadań, które są dostępne dla właściciela. Jednak w przypadku niektórych zadań, które są dostępne tylko dla właściciela (np. przypisywania ról lub zarządzania właściwościami Google Analytics), administrator może potrzebować rzeczywistej roli właściciela, aby je wykonać.
Nie mam projektu Firebase, ale otrzymałem/otrzymałam e-maila na jego temat. Jak mogę uzyskać dostęp do tego projektu?
Otrzymany 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, upewnij się, że logujesz się w Firebase za pomocą tego samego konta Google, na które wysłano e-maila dotyczącego projektu. Zalogowanie się i wylogowanie z konsoli Firebase odbywa się za pomocą awatara konta w prawym górnym rogu konsoli.
Jeśli jesteś administratorem organizacji Google Cloud, możesz otrzymywać powiadomienia o zmianach w projektach Firebase w Twojej organizacji. Możesz jednak nie mieć wystarczających uprawnień 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 ramy
Aby uzyskać więcej wskazówek i odpowiedzi na najczęstsze pytania, odwiedź strony z poradami i odpowiedziami na pytania dotyczące poszczególnych platform.
Konsola Firebase
Które przeglądarki są obsługiwane w konsoli Firebase?
Do konsoli Firebase można uzyskać dostęp w najnowszych wersjach popularnych przeglądarek na komputery, takich jak Chrome, Firefox, Safari i Edge. Przeglądarki mobilne nie są obecnie w pełni obsługiwane.
Dlaczego nie mogę znaleźć projektu Firebase ani uzyskać do niego dostępu, mimo że mogę otworzyć konsolę Firebase?
Ten artykuł z odpowiedziami na najczęstsze pytania jest przeznaczony dla osób, które mają problemy z:
- 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 się logować i wylogowywać z konsoli Firebase za pomocą 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.
Wypróbuj te rozwiązania:
- 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 blokadę 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 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 elementów 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.
Firebase Local Emulator Suite
Dlaczego w logach pakietu Emulator Suite pojawia się błąd zaczynający się od „W trybie pojedynczego projektu nie zaleca się korzystania z wielu identyfikatorów 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 się nie zgadzają, często wygląda to tak, jakby brakowało danych, ponieważ dane przechowywane w emulatorze są powiązane z identyfikatorem projektu, a interoperacyjność zależy od zgodności identyfikatorów projektów.
Było to często przyczyną nieporozumień wśród deweloperów, dlatego Local Emulator Suite będzie teraz domyślnie zezwalać na uruchamianie tylko z jednym identyfikatorem projektu, chyba że w pliku konfiguracyjnym 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 po uruchomieniu pobierany z projektu wybranego za pomocą
firebase init
lubfirebase use
. Aby wyświetlić listę projektów (i sprawdzić, który z nich jest wybrany), kliknijfirebase 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 się inicjować za pomocąinitializeApp(config)
. -
Flaga wiersza poleceń
--project
. Podanie parametru Firebase wiersza poleceń--project
zastąpi domyślny projekt. Upewnij się, że wartość flagi jest zgodna z identyfikatorem projektu w testach jednostkowych i inicjalizacji 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 }, ... } }
Ceny
Odpowiedzi na najczęstsze pytania dotyczące cen danego produktu znajdziesz w sekcji poświęconej temu produktowi na tej stronie lub w jego dokumentacji.
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, Edytor powiadomień, Remote Config, App Indexing, Dynamic Links i Crash Reporting. Korzystanie z tych usług podlega wyłącznie zasadom kontroli ruchu (np. limitom, sprawiedliwemu dostępowi i innym zabezpieczeniom usługi) we wszystkich pakietach, w tym w bezpłatnym pakiecie Spark. Dodatkowo wszystkie funkcje Authentication, które nie wymagają uwierzytelniania przez telefon, są bezpłatne.
Czy Firebase oferuje bezpłatne okresy próbne 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 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. W okresie bezpłatnego okresu próbnego każdy projekt Firebase korzystający z tego konta rozliczeniowego będzie objęty abonamentem Blaze.
Nie martw się. Skonfigurowanie konta Cloud Billing w ramach 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 płatną wersję nadal możesz 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. Otrzymujesz wszystkie bezpłatne funkcje Firebase (Analytics, Edytor powiadomień,Crashlytics itp.) oraz sporą liczbę płatnych funkcji infrastruktury. Jeśli jednak przekroczysz limit zasobów abonamentu Spark w danym miesiącu kalendarzowym, aplikacja zostanie wyłączona do końca tego miesiąca. Ponadto funkcje Google Cloud są niedostępne w planie Spark.
Abonament Blaze
Abonament Blaze jest przeznaczony do aplikacji produkcyjnych. Abonament Blaze umożliwia też rozszerzenie 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.
Czy mogę w dowolnym momencie przejść na wyższą lub niższą wersję abonamentu 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 w przypadku obniżenia poziomu subskrypcji lub anulowania nie zwracamy proporcjonalnej części środków. Oznacza to, że jeśli obniżysz poziom subskrypcji lub anulujesz ją przed końcem okresu rozliczeniowego, nadal będziesz płacić za pozostałą część miesiąca.
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. sekund procesora w miesiącu
- 5 GB sieciowego ruchu wychodzącego miesięcznie
W przypadku uwierzytelniania przez telefon bezpłatne korzystanie z abonamentu Blaze jest obliczane co miesiąc.
W przypadku Test Lab bezpłatne korzystanie z abonamentu Blaze jest objęte tymi ograniczeniami:
- 30 minut dziennie na urządzeniu fizycznym
- 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 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 niższy abonament Firebase Spark.
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
Czy mogę ustawić limit wykorzystania w planie Blaze?
Nie, obecnie nie możesz ustawić limitu wykorzystania abonamentu Blaze. 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.
Jakiego rodzaju pomocy mogę oczekiwać?
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). Wszystkie konta mają nieograniczony dostęp do pomocy w przypadku problemów związanych z płatnościami, problemów z kontem, pytań technicznych (rozwiązywanie problemów) oraz zgłoszeń incydentów.
Czy oferujesz rabaty dla organizacji non-profit, organizacji typu open source lub organizacji edukacyjnych?
Naszego pakietu Spark mogą używać wszystkie 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 zniżek ani abonamentów na projekty typu open source, organizacje non-profit ani projekty edukacyjne.
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ę korzystać z płatności według wykorzystania tylko w przypadku 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.
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 tym
- 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 przeniesiesz istniejący projekt z abonamentem Flame do innego abonamentu, nie będzie można przywrócić tego projektu 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? Odwiedź 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ę uzyskać specjalny dostęp do tworzenia nowych projektów planów Flame?
Nie. Firebase nie oferuje specjalnego dostępu do projektów, aby można było przejść na abonament Flame lub się na niego zarejestrować.
Zmieniłem projekt pakietu Flame na inny abonament. Jak mogę to zmienić?
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?
W ciągu ostatnich lat zauważyliśmy spadek wykorzystania abonamentu Flame, a większość projektów, które z niego korzystają, nie wykorzystuje jego pełnej wartości. 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.
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 opcjonalny, 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, z których maksymalnie 24 może być aktywnych, a pozostałe mogą być w wersji roboczej lub ukoń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 Firebase i Google Analytics są już połączone, ale nadal widzisz komunikat, że Google Analytics nie jest połączony, sprawdź, czy w Twoim projekcie istnieje strumień Analytics dla wszystkich aplikacji. Obecnie, aby korzystać z testów A/B, wszystkie aplikacje w projekcie muszą być połączone ze strumieniem Google Analytics.
Listę wszystkich aktywnych strumieni znajdziesz na stronie Szczegóły integracji 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.
Rozwiązaniem tego problemu może być utworzenie strumienia Google Analytics dla aplikacji, która go nie ma. Strumienie dla brakujących aplikacji można tworzyć na kilka sposobów:
-
Jeśli tylko 1 lub 2 aplikacje nie mają powiązanego strumienia Google Analytics, możesz dodać strumień Google Analytics w jeden z tych sposobów:
- 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 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 w 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ć swoje aplikacje na Windowsa z Firebase?
Nie, aplikacje na Windows nie są obecnie obsługiwane.
AdMob: dlaczego nie mogę połączyć aplikacji z AdMob w konsoli Firebase?
Aplikację AdMob możesz połączyć z aplikacją Firebase w konsoli AdMob. Dowiedz się, jak to zrobić
AdMob: jakich uprawnień lub dostępów potrzebuję, 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ą uwzględnione w roli właściciela i roli administratora Firebase. - Google Analytics: musisz mieć uprawnienia do edycji lub zarządzania użytkownikami w usłudze powiązanej z projektem Firebase. 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: z których pakietów SDK powinienem korzystać, aby korzystać z funkcji AdMob?
Aby korzystać z funkcji AdMob, zawsze używaj pakietu SDK Google Mobile Ads zgodnie z opisem w tych odpowiedziach na najczęstsze pytania. 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.6.0'
- W przypadku projektów C++ i projektów Unity: wykonaj instrukcje podane w odpowiedniej dokumentacji.
Analytics
Analytics: dlaczego Google Analytics jest zalecaną częścią 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 inteligentnych funkcji 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.
Aby rozpocząć, zapoznaj się z dokumentacją.
Analytics: jak mogę kontrolować sposób udostępniania moich danych Analytics innym usługom Firebase?
Domyślnie Twoje dane Google Analytics są wykorzystywane do ulepszania innych funkcji Firebase i Google. W ustawieniach projektu możesz w każdej chwili określić, jak mają być udostępniane dane Google Analytics. 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 mojej aplikacji na iOS: czy mogę zainstalować Analytics bez funkcji atrybucji reklam i zbierania danych IDFA?
Tak. Więcej informacji znajdziesz na stronie Konfigurowanie zbierania i wykorzystywania danych.
Analytics: co zmieniło się w sekcji Google Analytics 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 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: jeśli moja usługa w Analytics została usunięta, czy mogę połączyć z moim projektem Firebase nową usługę w Google Analytics i znowu zacząć 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, którzy nie spowodowali żadnych awarii, dzienników ścieżek ani alertów dotyczących szybkości.
- Cloud Messaging i In-App Messaging – nie możesz już używać kierowania, danych kampanii, podziału odbiorców na segmenty ani etykiet Analytics.
- Remote Config – nie możesz już używać konfiguracji kierowania ani personalizacji.
- A/B Testing – nie możesz już używać A/B Testing, ponieważ pomiar eksperymentu 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ć sposób definiowania problemu, stosując „kierowanie negatywne” 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 listy 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żna też wprowadzić w Google Analytics, a te zmiany 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 niezawodnie dostarczają wiadomości weryfikacyjnych. 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 przypadku niektórych regionów niektórzy przewoźnicy są niedostępni z powodu niskiego współczynnika 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 |
AZ | 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 |
BW | 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 |
DM | 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 |
GL | 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 |
IQ | Irak |
IT | Włochy |
JE | Jersey |
JM | Jamajka |
JO | Jordania |
JP | Japonia |
KE | Kenia |
Graf wiedzy | Kirgistan |
KH | Kambodża |
KM | Komory |
KN | Saint Kitts i Nevis |
KR | Korea Południowa |
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 |
MO | Makau, Specjalny Region Administracyjny Chin |
MS | Montserrat |
MT | Malta |
MU | Mauritius |
MW | Malawi |
MX | Meksyk |
MY | Malezja |
MZ | Mozambik |
Nie dotyczy | Namibia |
NC | Nowa Kaledonia |
NE | Niger |
NF | Wyspa Norfolk |
NG | Nigeria |
NI | Nikaragua |
NL | Holandia |
NIE | Norwegia |
NP | Nepal |
NZ | Nowa Zelandia |
OM | Oman |
PA | 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 |
SN | 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: co się stało z bezpłatnymi SMS-ami w abonamentach 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.
Firebase Authentication: jak zapobiec nadużyciom SMS-ów podczas korzystania z 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.
Odszukaj regiony o bardzo dużej liczbie wysłanych SMS-ów i bardzo małej liczbie (lub zerowej) SMS-ów zweryfikowanych. 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 zablokować 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. Domyślnie domena localhost
jest dodawana do zatwierdzonych domen uwierzytelniania, aby ułatwić rozwój. 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ć z aplikacji App Check w aplikacji Firebase Authentication, musisz uaktualnić ją do wersji Firebase Authentication with Identity Platform.
Pamiętaj, że musisz w konsoli Firebase włączyć sprawdzanie aplikacji w celu uwierzytelniania (przed włączeniem tej funkcji rozważ monitorowanie ruchu). Sprawdź też, czy lista zatwierdzonych witryn reCAPTCHA Enterprise zawiera tylko Twoje produkcyjne witryny i czy lista aplikacji zarejestrowanych w Twoim projekcie w Sprawdzaniu aplikacji jest poprawna.
Pamiętaj, że funkcja sprawdzania aplikacji pomaga chronić przed atakami automatycznymi, potwierdzając, że połączenie pochodzi z jednej z Twoich zarejestrowanych aplikacji. Nie zapobiega to użytkownikom przed korzystaniem z aplikacji w nieprzewidziany sposób (np. uruchamianiu i niedoprowadzaniu do końca procesów logowania w celu wysłania SMS-a).
Firebase Authentication: czy numery telefonów przeniesione do nowego operatora są obsługiwane przez uwierzytelnianie przez telefon?
W tej chwili przeniesienie numeru między operatorami spowoduje, że SMS-y nie będą docierać do tych użytkownikó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)
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 używa aktualnego pliku konfiguracji Firebase (
google-services.json
).
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ą obecni wymagani klienci 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 wykonałeś/wykonałaś wszystkie czynności opisane powyżej), skontaktuj się z zespołem pomocy.
Firebase Authentication: dlaczego w aplikacji na platformę 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 używa 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ą obecni wymagani klienci 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 wykonałeś/wykonałaś wszystkie czynności opisane 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 widzisz ten błąd:
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 JS Firebase Authentication korzysta z klucza interfejsu API projektu Firebase o nazwie Browser key
. Używa go 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 dla 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
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żywać (dowiedz się więcej o ograniczeniach interfejsów API dla 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 podane niżej 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 usługi internetowej 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 sekcji Autoryzowane identyfikatory URI przekierowania podaj te informacje:
https://PROJECT_ID.firebaseapp.com/__/auth/handler
https://PROJECT_ID.web.app/__/auth/handler
Zapisz klienta OAuth.
Skopiuj nowy identyfikator klienta OAuth i tajny klucz klienta do schowka.
W konsoli Firebase otwórz sekcję Authentication.
Na karcie Metoda logowania otwórz dostawcę logowania Google, a następnie wklej identyfikator klienta i tajny klucz serwera WWW, które zostały 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ę za pomocą adresu e-mail i hasła?
Przed grudniem 2022 r. w szablonie e-maila %APP_NAME%
była wypełniona nazwą marki OAuth, która była automatycznie udostępniana, gdy w projekcie Firebase zarejestrowano aplikację na Androida. 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,
%APP_NAME%
w szablonie e-maila będzie zawierać 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 występuje nazwa pakietu na Androida lub identyfikator pakietu na iOS,
%APP_NAME%
będzie nazwą aplikacji używaną w Google 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
, która zwykle jest 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
Cloud Functionsobsługa środowiska wykonawczego,
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 mogę 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 czas ich działania musi być aktualizowany zgodnie z harmonogramem Cloud Functions.
Zalecamy okresowe aktualizowanie do najnowszej wersji każdego zainstalowanego w projekcie rozszerzenia. Rozszerzenia projektów możesz uaktualnić w konsoli Firebase lub w interfejsie wiersza poleceń Firebase.
Cloud Functions cena
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 korzystają z funkcji Cloud Build w taki sam sposób, ale do przechowywania danych używają funkcji Container Registry i Cloud Storage zamiast 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 określa kontenery, w których działają funkcje. Artifact Registry pozwala na bezpłatne wykorzystanie pierwszych 500 MB, więc pierwsze wdrożenia funkcji mogą nie generować żadnych opłat. Po przekroczeniu tego progu każdy dodatkowy GB miejsca na dane jest naliczany w wysokości 0, 10 USD miesięcznie.
Miejsce na dane w interfejsie wiersza poleceń Firebase w wersji 11.1.x lub starszej
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 – na przykład 1 GB miejsca na dane jest obliczany w wysokości 0, 026 USD miesięcznie.
Aby dowiedzieć się więcej o tym, jak może się zmienić Twoja faktura, 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.
- Container Registry ceny.
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 wykorzystaniu pierwszych 500 MB bezpłatnego miejsca na dane za każdą operację wdrażania będą naliczane niewielkie opłaty za miejsce na dane używane przez kontener funkcji. Jeśli Twój proces programowania zależy od wdrażania funkcji na potrzeby testowania, możesz jeszcze bardziej zminimalizować koszty, korzystając z funkcji Firebase Local Emulator Suite podczas programowania.
Zapoznaj się z abonamentami Firebase i przykładowymi scenariuszami Cloud Functions 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ć 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ę zapoznać się z Firebase, korzystając z ćwiczenia programistycznego. 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.
Obawiam się, że dostanę ogromny rachunek.
Aby kontrolować koszty, możesz skonfigurować alerty dotyczące budżetu w konsoli Google Cloud. Możesz też ustawić limity dotyczące liczby tworzonych dla każdej funkcji płatnych instancji. Aby poznać koszty w typowych scenariuszach, zapoznaj się z przykładami w sekcji Cennik 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. Ponieważ rozszerzenia korzystają z Cloud Functions, będą one podlegać tym samym opłatom co inne funkcje.
Aby używać rozszerzeń, musisz przejść na abonament Blaze. Oprócz ewentualnych opłat za korzystanie z usług Firebase będziemy też pobierać niewielką opłatę (zwykle ok.0,01 USD/miesiąc) za zasoby Firebase potrzebne do działania każdego zainstalowanego przez Ciebie rozszerzenia (nawet gdy nie jest ono używane).
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.
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.
Uprawnienia | Edytor powiadomień | Cloud Messaging | |
---|---|---|---|
Cel | Konkretne urządzenie | ||
Klienci, którzy subskrybują tematy (np. pogoda). | |||
Klienci w 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 z danymi o długości 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: Apple ogłosił wycofanie starszego binarnego protokołu APN. Czy muszę coś zrobić?
Nie. W 2017 r. Firebase Cloud Messaging przełączył się na protokół APNs oparty na HTTP/2. Jeśli do wysyłania powiadomień na urządzeniach z iOS używasz FCM, nie musisz nic robić.
Cloud Messaging: czy do korzystania z FCM muszę używać innych usług Firebase?
Możesz używać Firebase Cloud Messaging jako samodzielnego komponentu w taki sam sposób jak GCM, bez korzystania z innych usług Firebase.
Cloud Messaging: jestem deweloperem 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 FCM SDK:
- Upraszczanie tworzenia środowiska programistycznego klienta. Nie musisz już pisać własnej logiki ponownego prób rejestracji ani 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 GCM SDK na pakiet FCM SDK, zapoznaj się z przewodnikiem dotyczącym migracji aplikacji na Androida i iOS.
Cloud Messaging: dlaczego urządzenia docelowe nie otrzymują wiadomości?
Jeśli wydaje się, że urządzenia nie otrzymały wiadomości, sprawdź najpierw te 2 możliwe przyczyny:
Obsługa wiadomości w tle w przypadku wiadomości z powiadomieniami. Aplikacje klienckie muszą dodać logikę obsługi wiadomości, aby obsługiwać wiadomości powiadomień, gdy aplikacja jest na pierwszym planie na urządzeniu. Więcej informacji znajdziesz w przypadku iOS i Androida.
Ograniczenia zapory sieciowej. Jeśli Twoja organizacja ma zaporę sieciową, która ogranicza ruch do internetu lub z internetu, musisz ją skonfigurować 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ć:
- 5228
- 5229
- 5230
FCM zwykle używa 5228, ale czasami używa 5229 i 5230. FCM nie udostępnia konkretnych adresów IP, dlatego zezwól zaporze sieciowej na akceptowanie połączeń wychodzących do wszystkich adresów IP zawartych w blokach adresów IP wymienionych na liście 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 udostępnianych przez Firebase Cloud Messaging i kreatora powiadomień:
Uprawnienia | Edytor powiadomień | Cloud Messaging | |
---|---|---|---|
Cel | Konkretne urządzenie | ||
Klienci, którzy subskrybują tematy (np. pogoda). | |||
Klienci w 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 z danymi o długości 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 |
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ś deweloperem GCM, aby korzystać z komponisty powiadomień, musisz zaktualizować pakiety 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. | |
API zarządzania grupami urządzeń | https://fcm.googleapis.com/fcm/notification | Punkt końcowy będzie nadal działać, ale po 21 czerwca 2024 r. nie będzie obsługiwał uwierzytelniania przy użyciu 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 FirebaseMessaging.send w aplikacji nie będą powodować wysyłania wiadomości w dół do serwera aplikacji. | Wprowadź tę funkcję w logice serwera. Na przykład niektórzy deweloperzy implementują własny punkt końcowy HTTP/gRPC i wywołują go bezpośrednio, aby wysyłać wiadomości z klientów do serwera 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 Admin SDK Firebase
Nazwa interfejsu API | Język interfejsu API | Wpływ na użytkowników | Wymagane działanie |
---|---|---|---|
sendToDevice()
|
Node.js | Interfejs API przestanie działać 21 czerwca 2024 r., ponieważ wywołuje przestarzały interfejs API wysyłania HTTP. | Użyj metody send() .
|
sendToDeviceGroup()
|
Node.js | Interfejs API przestanie działać 21 czerwca 2024 r., ponieważ wywołuje przestarzały interfejs API wysyłania HTTP. | Użyj metody send() .
|
sendToTopic()
|
Node.js | Interfejs API przestanie działać 21 czerwca 2024 r., ponieważ wywołuje przestarzały interfejs API wysyłania HTTP. | Użyj metody send() .
|
sendToCondition()
|
Node.js | Interfejs API przestanie działać 21 czerwca 2024 r., ponieważ wywołuje przestarzały interfejs API wysyłania 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ć 21 czerwca 2024 r., ponieważ wywołują interfejs API do zbiorczego wysyłania. | 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 zrobisz, uaktualnij 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 roku aplikacje internetowe korzystające ze starszych pakietów SDK JavaScript nie będą mogły rejestrować tokenów. | Zaktualizuj pakiet SDK do klienta internetowego Firebase do najnowszej wersji. |
Czy przed czerwcem 2024 r. nastąpi obniżenie poziomu usług?
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 po ich wycofaniu w czerwcu 2024 r.
Po czerwcu 2024 r. podczas korzystania z wymienionych powyżej interfejsów API lub pakietów SDK może wystąpić zwiększona liczba błędów lub brak niektórych funkcji (więcej informacji znajdziesz w następnym artykule z często zadawanymi pytaniami).
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 „migania”, w którym coraz więcej żądań będzie zwracać odpowiedzi z błędami. W okresie stopniowego zmniejszania obciążenia 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ą po cichu odrzucane przez backend FCM; |
Interfejs API wysyłania zbiorczego | żądania są odrzucane z kodem błędu UNIMPLEMENTED i komunikatem „The API is deprecated” (interfejs API jest wycofany); |
Pakiety SDK GCM – tokeny rejestracji | żądania są odrzucane z kodem HTTP 301, |
Pakiety SDK GCM – wysyłanie wiadomości | żądania są odrzucane z kodem błędu 400 i komunikatem „V3 token has been deprecated” (użytkowanie tokena V3 zostało wycofane); |
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. Jest 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 generowania tokenów dostępu.
Pamiętaj, że nagłówki żądań różnią się, gdy używasz tokenów OAuth 2.0 do żądań do różnych punktów końcowych.
- HTTP API w wersji 1:
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 w nowym interfejsie 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.
Czym różni się interfejs HTTP w wersji 1 od starszych interfejsów API, gdy wysyłam wiadomości do tematów lub grup urządzeń?
Tematy: jeśli korzystasz z interfejsu API w wersji 1, nie musisz dodawać prefiksu „/topics/” do kierowania na temat.
Grupy urządzeń: w interfejsie HTTP v1 możesz użyć tokenu grupy jako docelowego tokenu. Interfejs HTTP w wersji 1 nie zwraca jednak w odpowiedzi liczby sukcesów ani niepowodzeń. Zalecamy korzystanie z tematów FCM lub samodzielne zarządzanie grupami urządzeń.
Czy interfejs API HTTP w wersji 1 obsługuje wysyłanie wiadomości do wielu tokenów w jednym żądaniu?
Nie. Ta funkcja, zwana „multicastem” w starszych interfejsach API HTTP, nie jest obsługiwana przez interfejs API HTTP 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 w wersji 1 jest bardziej niezawodny i dostępny niż starszy interfejs multicast.
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. Chociaż wiadomości na temat wymagają jednorazowego działania, aby subskrybować temat,oferują do 10 tys. QPS na projekt bez maksymalnego limitu rozmiaru tematu.
W jakich wersjach pakietu Firebase Admin SDK 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ć starszy interfejs 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?
Gdy będziesz mieć pewność, że migracja do interfejsu HTTP API w wersji 1 została zakończona, możesz wyłączyć starszy interfejs Cloud Messaging API (jeśli interfejs API został już wyłączony, strona może się nie wczytać).
FCM limity i kwoty
Jak w ciągu 2 minut powiadomić dużą liczbę klientów?
Niestety nie możemy obsługiwać tego przypadku użycia. Musisz rozłożyć ruch na 5 minut.
Moja aplikacja powiadamia użytkowników o zdarzeniach, a wiadomości muszą być dostarczane natychmiast, aby umożliwić działanie mojego modelu biznesowego. Czy mogę otrzymać większy limit?
Z tego powodu nie możemy zwiększyć limitu. Musisz rozłożyć ruch na 5 minut.
Moje wiadomości dotyczą zaplanowanych wydarzeń. Jak mogę wysłać cały ruch 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ę kontrolować wykorzystanie limitu?
Zapoznaj się ze wskazówkami Google Cloud dotyczącymi tworzenia wykresów i monitorowania danych dotyczących limitów.
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?
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 moja obecna kwota może ulec zmianie?
Google nie będzie tego robić lekkomyślnie, ale w razie potrzeby może zmienić limity, 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 domyślny zasobnik w poziomie bezpłatnym App Engine. Dzięki temu możesz szybko zacząć korzystać z Firebase i Cloud Storage for Firebase bez konieczności podawania danych karty kredytowej ani aktywowania 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 opcji 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.
Przesyłanie, hostowanie i przetwarzanie niedozwolonych plików są 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ą można nadal przesyłać i hostować te pliki.
To ograniczenie dotyczy projektów w planie Spark. Nie dotyczy to projektów w planie 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 po 28 września 2023 r. nadal chcesz hostować te typy plików:
- Hosting: przed wdrożeniem tych typów plików do Firebase Hosting za pomocą polecenia
firebase deploy
musisz przejść na abonament Blaze. - 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.
- Na karcie Pliki znajdź w hierarchii folderów pliki, które chcesz usunąć, a następnie zaznacz je za pomocą pola wyboru obok nazw plików po lewej stronie 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ę nieoczekiwane zwiększenie liczby operacji przesyłania i pobierania?
Wcześniej żądania pobierania i przesyłania do interfejsu API Cloud Storage for Firebase nie były prawidłowo zliczane. 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ług powiązane z moimi projektami Firebase, które korzystają z 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 nie występuje w Twoim projekcie, możesz je dodać, wykonując jedną z tych czynności:
- (Zalecany) Automatycznie: użyj punktu końcowego REST AddFirebase, aby ponownie zaimportować folder 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 puli Cloud Storage w aplikacjach. Aby usunąć konto usługi z projektu, wykonaj instrukcje podane w artykule Wyłączanie konta usługi.
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 zawiera listę wszystkich typów użycia 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 kolejnych 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.
Crashlytics
Aby uzyskać pomocne wskazówki i odpowiedzi na dodatkowe najczęstsze pytania, odwiedź Crashlyticsstronę z poradami i najczęstszymi pytaniami.
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
w każdej aktywności precyzyjnego linku, aby go wyczyścić na wypadek, gdy aktywność zostanie wywołana poza główną aktywnością.
Hosting
Hosting: 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.
Przesyłanie, hostowanie i przetwarzanie niedozwolonych plików są 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ą można nadal przesyłać i hostować te pliki.
To ograniczenie dotyczy projektów w planie Spark. Nie dotyczy to projektów w planie 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 po 28 września 2023 r. nadal chcesz hostować te typy plików:
- Hosting: przed wdrożeniem tych typów plików do Firebase Hosting za pomocą polecenia
firebase deploy
musisz przejść na abonament Blaze. - 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.
- Na karcie Pliki znajdź w hierarchii folderów pliki, które chcesz usunąć, a następnie zaznacz je za pomocą pola wyboru obok nazw plików po lewej stronie 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 Hostingwitryn obsługuje maksymalnie 36 witryn na projekt.
Performance Monitoring
Aby uzyskać pomocne wskazówki i odpowiedzi na dodatkowe najczęstsze pytania, odwiedź Performance Monitoringstronę z poradami i najczęstszymi pytaniami.
Performance Monitoring: ile niestandardowych wzorów adresów URL mogę utworzyć?
Możesz utworzyć łącznie maksymalnie 400 wzorców adresów URL na aplikację i maksymalnie 100 wzorcó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)
- Wersja internetowa – wersja 7.14.0 lub nowsza
Pamiętaj, że zawsze zalecamy korzystanie z 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: co to jest „jednoczesne połączenie z bazą danych”?
Jednoczesne połączenie to 1 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. Te limity zostały wprowadzone, aby chronić Firebase 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.
Realtime Database: jakie są ograniczenia skalowania usługi Realtime Database?
Każda instancja Realtime Database ma 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, zwiększanie wydajności za pomocą operacji zbiorczych z użyciem aktualizacji wielościeżkowych może pomóc Ci osiągnąć większą przepustowość.
Ponadto każda instancja bazy danych ma ograniczenie liczby jednoczesnych połączeń z bazą danych. Domyślne limity są wystarczające w przypadku większości aplikacji. Jeśli tworzysz aplikację, która wymaga dodatkowej skali, możesz utworzyć jej partycję 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 w konsoli Firebase otrzymasz e-maila lub powiadomienie o przekroczeniu limitu korzystania z usługi Realtime Database, możesz rozwiązać ten problem w sposób odpowiedni do przekroczonego limitu. 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 odsłuchiwania, które pobiera tylko aktualizacje danych, na przykład
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:
- 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 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.
Realtime Database: co się stanie, jeśli przekroczę limit miejsca na dane lub limit pobierania w ramach subskrypcji Spark dla Realtime Database?
Aby zapewnić Ci przewidywalną cenę, zasoby dostępne w ramach abonamentów Spark są ograniczone. Oznacza to, że jeśli w danym miesiącu przekroczysz limit abonamentu, aplikacja zostanie wyłączona, aby zapobiec dalszemu wykorzystywaniu zasobów i dodatkowym opłatom.
Realtime Database: co się stanie, jeśli przekroczę limity jednoczesnych połączeń w planie Spark 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.
Realtime Database: czym są automatyczne kopie zapasowe? Czy oferujecie kopie zapasowe tworzone co godzinę w przypadku Realtime Database?
Automatyczne kopie zapasowe to zaawansowana funkcja dla klientów korzystających z abonamentu Blaze, która raz dziennie tworzy kopie zapasowe danych Firebase Realtime Database i przesyła je do Google Cloud Storage.
Nie oferujemy kopii zapasowych co godzinę.
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?
Podczas obliczania przepustowości uwzględniamy zwykle narzut wynikający z 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.
Remote Config
Remote Config: dlaczego pobrane wartości nie zmieniają zachowania ani wyglądu aplikacji?
Jeśli nie pobierzesz wartości za pomocą parametru fetchAndActivate()
, wartości są przechowywane lokalnie, ale nie są 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 się zmienia, 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 pobierać wartości, a potem aktywować je, gdy użytkownik uruchomi aplikację. Dzięki temu nie musisz opóźniać uruchamiania aplikacji, gdy czeka ona na pobrane 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 Remote Config API – omówienie.
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 możesz często (wielokrotnie na godzinę) pobierać i aktywować konfiguracje, aby umożliwić szybkie iteracje podczas tworzenia i testowania aplikacji. Aby umożliwić szybkie iteracje w projekcie z maksymalnie 10 deweloperami, możesz tymczasowo ustawić obiekt FirebaseRemoteConfigSettings
z minimalnym odstępem pobierania (setMinimumFetchIntervalInSeconds
) w aplikacji.
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 wykonanie żądania pobierania zależy od szybkości sieci urządzenia i opóźnienia połączenia sieciowego używanego przez 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ń 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 poradami dotyczącymi rozwiązywania 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.