Masz inne problemy lub nie widzisz swojego problemu poniżej? Zgłoś błąd lub poproś o dodanie funkcji i dołącz do dyskusji na Stack Overflow.
Projekty i aplikacje Firebase
Czym jest projekt Firebase?
Projekt Firebase to jednostka najwyższego poziomu w Firebase. W projekcie możesz zarejestrować aplikacje na Apple, Androida lub aplikacje internetowe. Po zarejestrowaniu aplikacji w Firebase możesz dodać do niej pakiety SDK Firebase przeznaczone dla konkretnych usług, np. Analytics, Cloud Firestore, Crashlytics lub Remote Config.
Warianty aplikacji na iOS, Androida i aplikacji internetowych należy zarejestrować w jednym projekcie Firebase. Możesz używać wielu projektów Firebase do obsługi różnych środowisk, takich jak środowisko deweloperskie, testowe i produkcyjne.
Oto kilka materiałów, z których możesz dowiedzieć się więcej o projektach Firebase:
- Informacje o projektach Firebase – zawiera krótkie omówienie kilku ważnych pojęć związanych z projektami Firebase, w tym ich relacji z Google Cloud oraz podstawowej hierarchii projektu, jego aplikacji i zasobów.
- Ogólne sprawdzone metody konfigurowania projektów Firebase – zawiera ogólne, podstawowe sprawdzone metody konfigurowania projektów Firebase i rejestrowania w nich aplikacji, aby zapewnić sobie przejrzysty proces tworzenia z wykorzystaniem odrębnych środowisk.
Pamiętaj, że w przypadku wszystkich projektów Firebase usługa automatycznie dodaje etykietę
firebase:enabled
na stronie
Etykiety w konsoli
Google Cloud. Więcej informacji o tym oznaczeniu znajdziesz w odpowiedziach na najczęstsze pytania.
Co to jest organizacja Google Cloud?
Google CloudOrganizacja jest kontenerem na Google Cloudprojekty (w tym projekty Firebase). Ta hierarchia umożliwia lepszą organizację, zarządzanie dostępem i audytowanie 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 Google Cloud projekty zarządzane w Google Cloud konsoli lub w Konsoli interfejsów API Google.
Firebase możesz dodać do tych istniejących projektów Google Cloud, korzystając z jednej z tych opcji:
- Korzystanie z Firebase.
- Korzystanie z opcji programowej:
- Wywołaj punkt końcowy interfejsu Firebase Management REST API
projects.addFirebase
. - Uruchom polecenie interfejsu wiersza poleceń Firebase
firebase projects:addfirebase
. - Użyj Terraform.
- Wywołaj punkt końcowy interfejsu Firebase Management REST API
Dowiedz się więcej o dodawaniu Firebase do Google Cloudprojektu.
Jak działa integracja Firebase z Google Cloud?
Usługa Firebase jest ściśle zintegrowana z Google Cloud. Projekty są udostępniane między Firebase a Google Cloud, więc mogą mieć włączone usługi Firebase i Google Cloud. Do tego samego projektu możesz uzyskać dostęp z FirebasekonsoliGoogle Cloud lub FirebasekonsoliGoogle Cloud. Więcej szczegółów:
- Niektóre usługi Firebase są obsługiwane bezpośrednio przez Google Cloud, np. Cloud Storage for Firebase. Lista produktów obsługiwanych przez Google Cloud będzie się z czasem powiększać.
- Wiele ustawień, w tym informacje o współpracownikach i rozliczeniach, jest współdzielonych przez Firebase i Google Cloud. Twoje wykorzystanie Firebase i Google Cloud jest widoczne na tej samej fakturze.
Po przejściu na abonament Blaze możesz też korzystać z dowolnych światowej klasy usług Google CloudInfrastructure-as-a-Service i interfejsów APIGoogle Cloud bezpośrednio w projekcie Firebase w standardowych Google Cloudcenach. Możesz też eksportować dane z Google Cloud bezpośrednio do BigQuery na potrzeby analizy. Więcej informacji znajdziesz w artykule Łączenie BigQuery z Firebase.
Korzystanie z Google Cloud w Firebase (w porównaniu z innymi usługami w chmurze, które nie są zlokalizowane w tym samym miejscu) ma wiele zalet, takich jak zwiększone bezpieczeństwo, mniejsze opóźnienia i oszczędność czasu. Więcej informacji znajdziesz na Google Cloudstronie.
Dlaczego mój projekt Google Cloud ma etykietę firebase:enabled
?
Na stronie Etykiety w konsoli Google Cloud możesz zobaczyć etykietę firebase:enabled
(a konkretnie Key
o wartości firebase
z Value
o wartości enabled
).
Firebase automatycznie dodał tę etykietę, ponieważ Twój projekt jest projektem Firebase, co oznacza, że ma on włączone konfiguracje i usługi specyficzne dla Firebase. Dowiedz się więcej o związku projektów Firebase z 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 projects.list
interfejsu REST API lub w menu w Firebase konsoli).
Pamiętaj, że ręczne dodanie tej etykiety do listy etykiet projektu NIE włącza w projekcie Google Cloudkonfiguracji i usług specyficznych dla Firebase. Aby to zrobić, musisz dodać Firebase za pomocą Firebasekonsoli (lub w bardziej zaawansowanych przypadkach użycia za pomocą interfejsu API REST do zarządzania Firebase albo Firebaseinterfejsu wiersza poleceń).
Dlaczego mojego projektu Firebase nie ma na liście projektów Firebase?
Te najczęstsze pytania dotyczą sytuacji, w których nie widzisz projektu Firebase w tych miejscach:
- Na liście projektów wyświetlanej w konsoli Firebase
- W odpowiedzi na wywołanie punktu końcowego interfejsu API REST
projects.list
- W odpowiedzi na polecenie interfejsu wiersza poleceń Firebase
firebase projects:list
Aby rozwiązać problem, wykonaj te czynności:
- Najpierw spróbuj uzyskać dostęp do projektu, otwierając bezpośrednio jego adres URL. Użyj tego formatu:
https://console.firebase.google.com/project/PROJECT_ID/overview
- Jeśli nie możesz uzyskać dostępu do projektu lub pojawiają się błędy uprawnień, sprawdź te elementy:
- Upewnij się, że logujesz się w Firebase przy użyciu tego samego konta Google, które ma dostęp do projektu. Możesz się logować i wylogowywać z Firebase konsoli, klikając awatar konta w prawym górnym rogu konsoli.
- Sprawdź, czy możesz wyświetlić projekt w Google Cloudkonsoli.
- 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 projektów Firebase. Jeśli nie widzisz tej etykiety, ale interfejs Firebase Management API jest włączony w Twoim projekcie, dodaj etykietę ręcznie (a konkretnieKey
o wartościfirebase
z wartościąValue
enabled
). - Upewnij się, że masz przypisaną jedną z podstawowych ról uprawnień (Właściciel, Edytujący, Wyświetlający) lub rolę z uprawnieniami związanymi z Firebase, np. wstępnie zdefiniowaną rolę Firebase. Swoje role możesz wyświetlić na stronie Uprawnienia w konsoli Google Cloud.
- Jeśli Twój projekt należy do Google Cloudorganizacji, możesz potrzebować dodatkowych uprawnień, aby zobaczyć go na liście w Firebasekonsoli. Skontaktuj się z osobą, która zarządza Twoją organizacją Google Cloud, i poproś o przypisanie Ci odpowiedniej roli, która umożliwi Ci wyświetlanie projektu, np. roli Przeglądający.
Jeśli żadna z powyższych czynności nie umożliwi Ci wyświetlenia projektu na liście projektów Firebase, skontaktuj się z zespołem pomocy Firebase.
Ile projektów mogę mieć na jednym koncie Google (adresie e-mail)?
- Abonament Spark: limit tworzenia projektów jest ograniczony do niewielkiej liczby projektów (zwykle około 5–10).
- Abonament Blaze: limit tworzenia projektów jest nadal ograniczony, ale może wzrosnąć po połączeniu z Cloud Billing kontem o dobrej reputacji.
Pamiętaj o tych uwagach na temat limitu liczby projektów, które można utworzyć:
- Ten limit nie dotyczy tylko Firebase. Limity Firebase dotyczące limitu projektu są takie same jak w przypadku Google Cloud.
- W rzadkich przypadkach, gdy jest to konieczne, możesz poprosić o zwiększenie limitu projektu.
- Całkowite usunięcie projektu zajmuje 30 dni i do tego czasu jest wliczane do limitu projektu.
Dowiedz się więcej o zalecanych przez Firebase ogólnych sprawdzonych metodach konfigurowania projektów Firebase.
Ile aplikacji Firebase mogę mieć w projekcie Firebase?
Projekt Firebase jest kontenerem dla aplikacji Firebase na platformach Apple, Android i w internecie. Firebase ogranicza łączną liczbę aplikacji Firebase w projekcie Firebase do 30.
Po przekroczeniu tej liczby wydajność zaczyna spadać (zwłaszcza w przypadku Google Analytics), a przy większej liczbie aplikacji niektóre funkcje produktu przestają działać. Jeśli używasz logowania przez Google jako dostawcy uwierzytelniania, dla każdej aplikacji w projekcie tworzony jest podstawowy identyfikator klienta OAuth 2.0. W jednym projekcie można utworzyć około 30 identyfikatorów klienta.
Upewnij się, że wszystkie aplikacje Firebase w jednym projekcie Firebase są z perspektywy użytkownika wariantami tej samej aplikacji na różne platformy. Jeśli na przykład tworzysz aplikację typu white label, każda niezależnie oznaczona aplikacja powinna mieć własny projekt Firebase, ale wersje tej aplikacji na urządzenia Apple i Android mogą znajdować się w tym samym projekcie. Szczegółowe wskazówki znajdziesz w naszych ogólnych sprawdzonych metodach konfigurowania projektów Firebase.
Jeśli Twój projekt wymaga więcej niż 30 aplikacji, możesz poprosić o zwiększenie limitu. Aby przesłać to żądanie, projekt musi być objęty abonamentem Blaze. Wejdź na Google Cloud konsolę, aby przesłać prośbę i poczekać na jej rozpatrzenie. Dowiedz się więcej o zarządzaniu limitami w dokumentacji Google Cloud.
Co się stanie, jeśli oznaczę projekt jako środowisko „produkcyjne”?
W konsoli Firebase możesz oznaczyć projekty Firebase typem środowiska, czyli produkcyjnym lub nieokreślonym (nieprodukcyjnym).
Oznaczenie projektu jako typu środowiska nie ma wpływu na działanie projektu Firebase ani jego funkcji. Tagowanie może jednak pomóc Tobie i Twojemu zespołowi w zarządzaniu różnymi projektami Firebase w cyklu życia aplikacji.
Jeśli oznaczysz projekt jako środowisko produkcyjne, dodamy do niego w Firebase konsoli jaskrawy tag Prod, który będzie przypominać, że wszelkie zmiany mogą mieć wpływ na powiązane aplikacje produkcyjne. W przyszłości możemy dodać więcej funkcji i środków ochrony w przypadku projektów Firebase oznaczonych jako środowiska produkcyjne.
Aby zmienić typ środowiska projektu Firebase, otwórz 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ć informacje o niej, w tym identyfikator aplikacji.
Oto przykładowe wartości identyfikatora aplikacji:
-
Aplikacje Firebase na iOS:
1:1234567890:ios:321abc456def7890
-
Aplikacje Firebase na Androida:
1:1234567890:android:321abc456def7890
-
Aplikacje internetowe Firebase:
1:1234567890:web:321abc456def7890
Jakie są wymagania wstępne dotyczące połączenia Google Play / AdMob / Google Ads / BigQuery z projektem lub aplikacją Firebase?
- Aby połączyć Google Playkonto, musisz mieć:
- jedną z tych ról Firebase: Właściciel lub Administrator Firebase
i - jeden z tych poziomów dostępu Google Play: Właściciel (konta) lub Administrator.
- jedną z tych ról Firebase: Właściciel lub Administrator Firebase
- Aby połączyć aplikację AdMob, musisz być właścicielem projektu Firebase i administratorem AdMob.
- Aby połączyć konto AdWords, musisz być właścicielem projektu Firebase i administratorem AdWords.
- Aby połączyć BigQueryprojekt, musisz być właścicielem projektu Firebase.
Jakie informacje o oprogramowaniu open source należy umieścić w aplikacji?
Na platformach Apple pakiet SDK Firebase zawiera plik NOTICES, który zawiera odpowiednie wpisy. Pakiet SDK Firebase na Androida zawiera narzędzieActivity
do wyświetlania informacji o licencji.
Uprawnienia i dostęp do projektów Firebase
Jak przypisać członkowi projektu rolę, np. rolę właściciela?
Aby zarządzać rolami przypisanymi do poszczególnych członków projektu, musisz być właścicielem projektu Firebase (lub mieć przypisaną rolę z uprawnieniem resourcemanager.projects.setIamPolicy
).
Role możesz przypisywać i nimi zarządzać w tych miejscach:
- Firebase Konsola oferuje uproszczony sposób przypisywania ról do uczestników projektu na karcie Użytkownicy i uprawnienia w sekcji settings > Ustawienia projektu. W konsoli Firebase możesz przypisać dowolną z ról podstawowych (Właściciel, Edytujący, Wyświetlający), ról administratora lub wyświetlającego Firebase albo dowolną z predefiniowanych ról w kategorii usług Firebase.
- Konsola Google Cloud oferuje szeroki zestaw narzędzi do przypisywania ról członkom projektu na stronie Uprawnienia. W konsoli Cloud możesz też tworzyć role niestandardowe i nimi zarządzać, a także przyznawać kontom usługi dostęp do projektu.
Pamiętaj, że w konsoli Google Cloud członkowie projektu są nazywani podmiotami zabezpieczeń.
Jeśli właściciel projektu nie może już wykonywać zadań właściciela (np. osoba ta odeszła z firmy), a Twój projekt nie jest zarządzany przez Google Cloudorganizację (patrz następny akapit), możesz skontaktować się z zespołem pomocy Firebase i zapytać, jak poprosić o dostęp do projektu Firebase.
Pamiętaj, że jeśli projekt Firebase jest częścią Google Cloudorganizacji, może nie mieć właściciela. Jeśli nie możesz znaleźć właściciela projektu Firebase, skontaktuj się z osobą, która zarządza Twoją organizacjąGoogle Cloud, aby przypisać właściciela projektu.
Jak znaleźć właściciela projektu Firebase?
Członków projektu i ich role możesz wyświetlać w tych miejscach:
- Jeśli masz dostęp do projektu w konsoli Firebase, możesz wyświetlić listę członków projektu, w tym właścicieli, na stronie Użytkownicy i uprawnienia w konsoli Firebase.
- Jeśli nie masz dostępu do projektu w konsoli Firebase, sprawdź, czy masz do niego dostęp w konsoli Google Cloud. Listę członków projektu, w tym właścicieli, możesz wyświetlić na stronie Uprawnienia w konsoli Google Cloud.
Jeśli właściciel projektu nie może już wykonywać zadań właściciela (np. opuścił Twoją firmę), a Twój projekt nie jest zarządzany przez Google Cloudorganizację (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 jest częścią Google Cloudorganizacji, może nie mieć właściciela. Zamiast tego osoba zarządzająca Twoją organizacją Google Cloudmoże wykonywać wiele zadań, które może wykonać właściciel. Jednak aby wykonać kilka zadań przeznaczonych tylko dla właściciela (np. przypisywanie ról lub zarządzanie usługami Google Analytics), administrator może musieć przypisać sobie rolę właściciela, aby móc je wykonać. Jeśli nie możesz znaleźć właściciela projektu Firebase, skontaktuj się z osobą, która zarządza Twoją organizacją Google Cloud, aby przypisać właściciela 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.
Członkowie projektu z rolą Właściciel są często jedynymi członkami projektu, którzy mogą wykonywać zadania administracyjne lub otrzymywać ważne powiadomienia:
- Członkowie projektu z rolą Właściciel są często jedynymi osobami, które mogą wykonywać ważne działania administracyjne (takie jak przypisywanie ról i zarządzanie usługami Google Analytics), a zespół pomocy Firebase może realizować prośby administracyjne tylko od osób, które są właścicielami projektu.
- Członkowie projektu z rolą Właściciel są często jedynymi osobami, które (domyślnie) otrzymują powiadomienia o zmianach w projekcie lub usługach (np. o zmianach w rozliczeniach i kwestiach prawnych, wycofywaniu funkcji itp.). Opcjonalnie możesz dostosować „ważne kontakty” w projekcie, jeśli chcesz, aby powiadomienia otrzymywali konkretni lub dodatkowi członkowie zespołu.
Po skonfigurowaniu właścicieli projektu Firebase ważne jest, aby te przypisania były aktualne.
Pamiętaj, że jeśli projekt Firebase jest częścią organizacji Google Cloud, osoba zarządzająca organizacją Google Cloud może wykonywać wiele zadań, które może wykonać właściciel. Jednak w przypadku kilku zadań przeznaczonych tylko dla właściciela (takich jak przypisywanie ról czy zarządzanie usługami Google Analytics) administrator może potrzebować przypisania sobie roli właściciela, aby móc je wykonać.
Nie mam projektu Firebase, ale otrzymałem(-am) e-maila na jego temat. Jak uzyskać dostęp do tego projektu?
Otrzymany e-mail powinien zawierać link do otwarcia projektu Firebase. Kliknięcie linku w e-mailu powinno spowodować otwarcie projektu w Firebase konsoli.
Jeśli nie możesz otworzyć projektu za pomocą linku, sprawdź, czy logujesz się w Firebase na to samo konto Google, na które został wysłany e-mail z informacją o projekcie. Możesz się logować i wylogowywać z konsoli Firebase, klikając awatar konta w prawym górnym rogu konsoli.
Pamiętaj, że jeśli jesteś administratorem Google Cloud organizacji, możesz otrzymywać powiadomienia o zmianach w projektach Firebase w swojej organizacji. Może jednak nie mieć wystarczających uprawnień do otwarcia projektu Firebase. W takich przypadkach najprostszym rozwiązaniem jest przypisanie sobie roli właściciela, aby otworzyć projekt i wykonać wymagane działania. Dowiedz się więcej o tym, dlaczego i kiedy warto przypisać rolę właściciela.
Platformy i frameworki
Na stronach z rozwiązywaniem problemów i najczęstszymi pytaniami dotyczącymi poszczególnych platform znajdziesz przydatne wskazówki i odpowiedzi na więcej pytań.
Firebase konsola
Jakie przeglądarki są obsługiwane w przypadku konsoli Firebase?
Konsola Firebase jest dostępna 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.
Mogę otworzyć Firebase konsolę, ale nie mogę znaleźć ani otworzyć projektu Firebase. Dlaczego?
Te odpowiedzi na najczęstsze pytania dotyczą tych problemów:
- Konsola Firebase zwraca stronę błędu z informacją, że projekt może nie istnieć lub nie masz do niego dostępu.
- Konsola Firebase nie wyświetla projektu, nawet jeśli wpiszesz jego identyfikator lub nazwę w polu wyszukiwania konsoli.
Aby rozwiązać problem, wykonaj te czynności:
- Najpierw spróbuj uzyskać dostęp do projektu, otwierając bezpośrednio jego adres URL. Użyj tego formatu:
https://console.firebase.google.com/project/PROJECT-ID/overview
- Jeśli nadal nie możesz uzyskać dostępu do projektu lub pojawiają się błędy uprawnień, sprawdź te elementy:
- Upewnij się, że logujesz się w Firebase przy użyciu tego samego konta Google, które ma dostęp do projektu. Możesz się logować i wylogowywać z Firebase konsoli, klikając awatar 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ń (Właściciel, Edytujący, Wyświetlający) lub rolę z uprawnieniami związanymi z Firebase, np. wstępnie zdefiniowaną rolę Firebase. Swoje role możesz wyświetlić na stronie Uprawnienia w konsoli Google Cloud.
- Jeśli Twój projekt należy do Google Cloudorganizacji, możesz potrzebować dodatkowych uprawnień, aby zobaczyć go na liście w Firebasekonsoli. Skontaktuj się z osobą, która zarządza Twoją organizacją Google Cloud, i poproś o przypisanie Ci odpowiedniej roli, która umożliwi Ci wyświetlanie projektu, np. roli Przeglądający.
Jeśli żadna z powyższych czynności nie pomoże Ci znaleźć projektu lub uzyskać do niego dostępu, skontaktuj się z zespołem pomocy Firebase.
Dlaczego konsola Firebase nie wczytuje się?
Te najczęstsze pytania dotyczą tych problemów:
- Strona w konsoli Firebase nigdy się nie wczytuje.
- Dane na stronie nie wczytują się zgodnie z oczekiwaniami.
- Podczas wczytywania konsoli Firebase pojawiają się komunikaty o błędach przeglądarki.
Aby rozwiązać problem, wykonaj te czynności:
- Sprawdź wiersz Konsola w Panelu stanu Firebase, aby dowiedzieć się, czy nie występują przerwy w działaniu usługi.
- Sprawdź, czy używasz obsługiwanej przeglądarki.
- Spróbuj otworzyć Firebase konsolę w oknie incognito lub prywatnym.
- Wyłącz wszystkie rozszerzenia przeglądarki.
- Sprawdź, czy połączenie sieciowe nie jest blokowane przez program do blokowania reklam, program antywirusowy, serwer proxy, zaporę sieciową ani inne oprogramowanie.
- Spróbuj wczytać Firebase konsolę 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 żadne z powyższych rozwiązań nie rozwiąże problemu, skontaktuj się z zespołem pomocy Firebase.
Jak jest określany język konsoli Firebase?
Ustawienie języka w Firebase konsoli zależy od języka wybranego w ustawieniach konta Google.
Aby zmienić preferencje językowe, 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 są obsługiwane w konsoli Firebase?
Konsola Firebase i konsola Google Cloud korzystają z tych samych ról i uprawnień. Więcej informacji o rolach i uprawnieniach znajdziesz w dokumentacji Firebase IAM.
Firebase obsługuje podstawowe role: Właściciel, Edytujący i Wyświetlający:
- Właściciel projektu może dodawać do niego innych członków, konfigurować integracje (łączenie projektu z usługami takimi jak BigQuery czy Slack) i ma pełny dostęp do edycji projektu.
- Edytujący projekt ma pełne uprawnienia do edycji projektu.
- Wyświetlający projekt ma tylko dostęp do odczytu projektu. Pamiętaj, że konsola Firebase nie ukrywa ani nie wyłącza obecnie elementów interfejsu edycji dla osób wyświetlających projekt, ale te operacje nie będą działać w przypadku członków projektu, którym przypisano rolę wyświetlającego.
Firebase obsługuje też:
- Predefiniowane role Firebase – wyselekcjonowane role specyficzne dla Firebase, które umożliwiają bardziej szczegółową kontrolę dostępu niż podstawowe role właściciela, edytującego i wyświetlającego.
- Role niestandardowe – w pełni dostosowane role uprawnień, które tworzysz, aby dopasować zestaw uprawnień do konkretnych wymagań organizacji.
Jak działa „przykładowa aplikacja” w konsoli? Co się stanie i co mogę zrobić?
Firebase Konsola udostępnia przykładową aplikację, dzięki czemu możesz poznać działanie prawdziwej aplikacji i eksperymentować z Firebase oraz innymi usługami Google (np. Gemini API).
Automatyczna konfiguracja Firebase i wdrożenie przykładowej aplikacji
Gdy przejdziesz przykładową aplikację w Firebase konsoli, automatycznie wykonamy te czynności:
- Utwórz nowy projekt Firebase dla przykładowej aplikacji
- Zarejestruj aplikację internetową Firebase w nowym projekcie Firebase
- Włącz usługi i interfejsy API używane przez aplikację przykładową (np. Firebase Authentication, Cloud Firestore itp.).
- udostępniać wszystkie wymagane zasoby (np. instancje bazy danych i reguły bezpieczeństwa);
- Konfigurowanie urządzenia Firebase AI Logic do korzystania z Gemini Developer API
- Wdróż aplikację przykładową pod tymczasowym adresem URL podglądu za pomocą polecenia Firebase Hosting(domyślnie ten adres URL wygasa po 7 dniach).
Zapoznaj się z bazą kodu przykładowej aplikacji
Opcja 1. Otwórz spersonalizowaną wersję bazy kodu przykładowej aplikacji w Firebase Studio
Przykładowa aplikacja umożliwia otwarcie spersonalizowanej wersji kodu źródłowego w Firebase Studio (opartym na przeglądarce środowisku Google do tworzenia aplikacji pełnostosowych). Po skonfigurowaniu projektu i aplikacji (patrz wyżej) linki do Firebase Studio znajdziesz na banerach w Firebase konsoli i u góry wdrożonej aplikacji.
Gdy otworzysz przykładową aplikację w Firebase Studio, automatycznie wykonamy te czynności:
- Użyj tego samego projektu Firebase, aplikacji internetowej Firebase i zasobów utworzonych podczas wstępnej konfiguracji (patrz wyżej).
- Wstaw konfigurację Firebase przykładowej aplikacji do bazy kodu (zwykle do pliku
src/bootstrap.js
).
W Firebase Studio możesz zapoznać się z kodem, aby dowiedzieć się, jak korzystać z różnych usług Firebase i Google.
Opcja 2. Wyświetl publiczną, niespersonalizowaną wersję bazy kodu aplikacji przykładowej w GitHubie
Możesz też wyświetlić publiczną, niespersonalizowaną wersję kodu źródłowego przykładowej aplikacji w GitHubie.
- „Planowanie z użyciem interfejsu Gemini API” – repozytorium GitHub
Firebase Local Emulator Suite
Dlaczego w logach pakietu Emulator Suite pojawia się błąd zaczynający się od „Multiple projectIds are not recommended in single project mode”?
Ten komunikat oznacza, że pakiet Emulator Suite wykrył, że może uruchamiać emulator konkretnej usługi przy użyciu różnych identyfikatorów projektu. Może to wskazywać na nieprawidłową konfigurację i powodować problemy podczas komunikacji między emulatorami oraz podczas interakcji z emulatorami z poziomu kodu. Jeśli identyfikatory projektów nie są zgodne, często wydaje się, że brakuje danych, ponieważ dane przechowywane w emulatorach są powiązane z identyfikatorem projektu, a współdziałanie zależy od zgodności identyfikatorów projektów.
Było to częste źródło nieporozumień wśród deweloperów, dlatego domyślnie Local Emulator Suite będzie teraz działać 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że zgłosić błąd krytyczny.
Sprawdź, czy w deklaracjach identyfikatora projektu nie ma niezgodności w zakresie:
-
Projekt domyślny ustawiony w wierszu poleceń. Domyślnie identyfikator projektu zostanie pobrany podczas uruchamiania z projektu wybranego za pomocą klawiszy
firebase init
lubfirebase use
. Aby wyświetlić listę projektów (i sprawdzić, który z nich jest wybrany), użyjfirebase projects:list
. -
Testy jednostkowe. Identyfikator projektu jest często określany w wywołaniach metod biblioteki testów jednostkowych reguł
initializeTestEnvironment
lubinitializeTestApp
. Inny kod testowy może inicjować się za pomocąinitializeApp(config)
. -
Flaga
--project
wiersza poleceń. Przekazanie flagi FirebaseCLI--project
zastępuje domyślny projekt. Musisz zadbać o to, aby wartość flagi była zgodna z identyfikatorem projektu w testach jednostkowych i podczas inicjowania aplikacji.
Miejsca, w których warto sprawdzić informacje na poszczególnych platformach:
Sieć | Właściwość projectId w obiekcie JavaScriptu firebaseConfig , używana w 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 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 konkretnych produktów znajdziesz w sekcji poświęconej danemu produktowi na tej stronie lub w jego dokumentacji.
Które usługi są płatne? Które z nich są bezpłatne?
Szczegółowe informacje o płatnych i bezpłatnych usługach znajdziesz na stronie Abonamenty i ceny Firebase.
Czy Firebase oferuje bezpłatne środki na okres próbny w przypadku płatnych usług?
Z płatnych usług Firebase można korzystać w ramach Google Cloudbezpłatnego okresu próbnego. Nowi użytkownicy Google Cloud i Firebase mogą skorzystać z 90-dniowego okresu próbnego, w ramach którego otrzymają 300 USD w postaci bezpłatnych środków Cloud Billing na wypróbowanie i ocenę usług Google Cloud i Firebase.
Podczas Google Cloudbezpłatnego okresu próbnego otrzymasz konto Google Cloudbezpłatnej wersji próbnej.Cloud Billing Każdy projekt Firebase połączony z tym kontem rozliczeniowym będzie w okresie próbnym korzystać z abonamentu Blaze z płatnością według wykorzystania.
Nie martw się, połączenie projektu Firebase z tym kontemCloud Billing bezpłatnego okresu próbnego nie umożliwia nam obciążania Cię opłatami za korzystanie z usługi wykraczające poza te środki. Za wykorzystanie wykraczające poza te środki nie pobieramy opłat, chyba że włączysz rozliczenia, uaktualniając swoje konto Cloud Billing w ramach bezpłatnej wersji próbnej do konta płatnego. W dowolnym momencie okresu próbnego możesz przejść na konto płatne. Po przejściu na konto płatne nadal możesz wykorzystać pozostałe środki (w ciągu 90 dni).
Po zakończeniu bezpłatnego okresu próbnego i jeśli nie uaktualnisz konta w bezpłatnym okresie próbnym Cloud Billing do konta płatnego, połączony projekt Firebase zostanie automatycznie przekształcony w pakiet Spark. Pamiętaj, że w każdej chwili możesz ponownie przejść na abonament Blaze.
Dowiedz się więcej o Google Cloudbezpłatnym okresie próbnym.
Jak sprawdzić, który abonament jest dla mnie odpowiedni?
Szczegółowe informacje o abonamentach znajdziesz na stronie Abonamenty i ceny Firebase.
Abonament Spark
Pakiet Spark to świetne rozwiązanie, które umożliwia rozwijanie aplikacji bezpłatnie. Otrzymujesz wszystkie bezpłatne funkcje Firebase (Analytics, Remote Config, Crashlytics itp.) oraz duże ilości naszych płatnych funkcji infrastruktury. Jeśli jednak w danym miesiącu kalendarzowym przekroczysz zasoby abonamentu Spark, aplikacja zostanie wyłączona do końca tego miesiąca. Ponadto funkcje Google Cloud są niedostępne w przypadku korzystania z pakietu Spark.
Abonament Blaze
Abonament Blaze jest przeznaczony dla aplikacji produkcyjnych. Abonament Blaze umożliwia też rozszerzenie aplikacji o płatne Google Cloud funkcje. 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 cenami wiodących dostawców usług w chmurze.
Czy mogę w dowolnym momencie przejść na wyższą lub niższą wersję albo anulować subskrypcję?
Tak, w każdej chwili możesz przejść na wyższą lub niższą wersję albo anulować subskrypcję. Pamiętaj, że nie zwracamy proporcjonalnie środków w przypadku obniżenia wersji lub anulowania subskrypcji. Oznacza to, że jeśli przejdziesz na niższą wersję lub anulujesz subskrypcję przed końcem okresu rozliczeniowego, nadal musisz zapłacić za pozostałą część miesiąca.
Czym różni się bezpłatne korzystanie z usług w abonamencie Blaze od bezpłatnego korzystania z usług w abonamencie Spark?
Wykorzystanie bezpłatne w ramach abonamentu Blaze jest obliczane codziennie. Limity wykorzystania różnią się też od limitów w abonamencie 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 Cloud Billing konta, a nie projektu, i ma te limity:
- 2 mln wywołań miesięcznie
- 400 tys. GB-sekund miesięcznie
- 200 tys. sekund pracy procesora miesięcznie
- 5 GB sieciowego ruchu wychodzącego miesięcznie
W przypadku uwierzytelniania przez telefon bezpłatne korzystanie w ramach abonamentu Blaze jest obliczane co miesiąc.
W przypadku Test Lab bezpłatne korzystanie z abonamentu Blaze ma te limity:
- 30 minut na urządzeniu fizycznym dziennie
- 60 minut na urządzenie wirtualne dziennie
Czy bezpłatny limit wykorzystania resetuje się, gdy przejdę z abonamentu Spark na Blaze?
Bezpłatne korzystanie z usług w ramach abonamentu Spark jest uwzględnione w abonamencie Blaze. Bezpłatne wykorzystanie nie jest resetowane po przejściu na abonament Blaze.
Co się stanie z moim projektem Firebase, jeśli połączę z nim konto rozliczeniowe w Google Cloud konsoli?
Jeśli Cloud Billingkonto jest połączone z projektem w Google Cloudkonsoli, ten sam projekt zostanie automatycznie uaktualniony do abonamentu Blaze w Firebase z płatnością za wykorzystanie (jeśli projekt korzysta obecnie z abonamentu Spark).
Jeśli natomiast istniejące aktywne konto Cloud Billing zostanie odłączone od projektu w konsoli Google Cloud, projekt ten zostanie przełączony na bezpłatny abonament Spark w Firebase.
Jak mogę monitorować wykorzystanie i płatności?
Wykorzystanie zasobów projektu możesz śledzić w Firebase konsoli na jednym z tych paneli:
Czy mogę ograniczyć wykorzystanie w ramach abonamentu Blaze?
Nie, obecnie nie możesz ograniczyć wykorzystania w ramach abonamentu Blaze. Rozważamy opcje obsługi limitów wykorzystania w ramach abonamentu Blaze.
Użytkownicy Blaze mogą określić budżet projektu lub konta i otrzymywać alerty, gdy wydatki zbliżają się do tych limitów. Dowiedz się, jak skonfigurować alerty dotyczące budżetu.
Jaką pomoc otrzymam?
Wszystkie aplikacje Firebase, w tym te, które korzystają z bezpłatnych abonamentów, mają zapewnioną pomoc e-mailową od pracowników Firebase w godzinach pracy w strefie czasu pacyficznego w Stanach Zjednoczonych. Wszystkie konta mają nieograniczoną pomoc w przypadku problemów związanych z płatnościami, kontem, kwestii technicznych (rozwiązywanie problemów) i raportów o incydentach.
Czy oferujecie zniżki dla organizacji non-profit, instytucji edukacyjnych lub projektów open source?
Z abonamentu Spark może korzystać każdy użytkownik indywidualny lub organizacja, w tym organizacje non-profit, szkoły i projekty open source. Ponieważ te plany obejmują już duże limity, nie oferujemy specjalnych zniżek ani planów dla projektów open source, organizacji non-profit ani projektów edukacyjnych.
Czy oferujesz umowy dla firm, ceny, pomoc lub dedykowany hosting infrastruktury?
Nasz abonament Blaze jest odpowiedni dla przedsiębiorstw każdej wielkości, a nasza umowa SLA spełnia lub przewyższa standard branżowy w zakresie infrastruktury chmurowej. Obecnie nie oferujemy jednak umów, cen ani pomocy dla firm, ani też dedykowanej infrastruktury hostingowej (czyli instalacji lokalnych) w przypadku usług takich jak Realtime Database. Intensywnie 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 1–2 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 działają w przypadku Ads? Czy w przypadku abonamentów płatnych dostępne są bezpłatne środki na reklamę?
Plany cenowe Firebase są oddzielne od Ads, więc nie ma środków na reklamę bezpłatnie. Jako deweloper Firebase możesz „połączyć” swoje konto Ads z Firebase, aby włączyć śledzenie konwersji.
Wszystkie kampanie reklamowe są zarządzane bezpośrednio w Ads, a Ads rozliczenia są zarządzane w konsoli Ads.
Co się stało z abonamentem Flame?
W styczniu 2020 r. usunęliśmy z oferty dla nowych użytkowników abonament Flame (25 USD miesięcznie za dodatkowy limit). Użytkownicy obecnych pakietów mieli okres przejściowy na przeniesienie projektów z pakietu Flame.
W lutym 2022 r. pozostałe projekty w ramach abonamentu Flame zostały zmienione na abonament Spark.
W związku z tym
- W przypadku istniejących projektów w abonamentach Spark i Blaze oraz nowych projektów nie można już przejść na abonament Flame ani się w nim zarejestrować.
- Jeśli przeniesiesz projekt z abonamentu Flame na inny abonament, nie będzie można przywrócić abonamentu Flame.
- Projekty, które zostały przeniesione na abonament Spark, można przenieść na abonament Blaze, aby wznowić korzystanie z dodatkowych usług płatnych.
- Z dokumentacji usunęliśmy odniesienia do pakietu Flame.
Masz więcej pytań dotyczących wycofania subskrypcji Flame? Przeczytaj poniżej dodatkowe najczęstsze pytania.
Chcesz dowiedzieć się więcej o innych abonamentach oferowanych przez Firebase? Odwiedź naszą stronę z cennikiem Firebase. Jeśli chcesz przenieść istniejące projekty na inny abonament, możesz to zrobić w Firebase konsoli projektu.
Dodatkowe pytania dotyczące wycofania planu Flame
Mam projekt, proces lub model biznesowy, który opiera się na stałych kosztach Firebase. Co mam zrobić?
Zarejestruj się w abonamencie Blaze i ustaw alerty dotyczące budżetu.
Czy mogę otrzymać specjalny dostęp do tworzenia nowych projektów w ramach abonamentu Flame?
Nie, Firebase nie oferuje specjalnego dostępu do projektów, które chcą przejść na abonament Flame lub się w nim zarejestrować.
Projekt w ramach abonamentu Flame został przełączony na inny abonament. Jak mogę przywrócić poprzednie ustawienia?
Przejście na abonament Flame nie jest już możliwe. Aby uzyskać dostęp do usług oferowanych w ramach abonamentu Flame, musisz korzystać z abonamentu Blaze. Rozważ też skonfigurowanie alertów budżetowych w projekcie.
Mój projekt został automatycznie przełączony na inny abonament w ramach wycofania abonamentu Flame. Co mam zrobić?
Jeśli Twój projekt wymaga dodatkowego limitu wykraczającego poza ten, który jest dostępny w ramach abonamentu Spark, musisz przenieść projekt na abonament Blaze.
Dlaczego wycofujemy abonament Flame?
Z biegiem lat zauważyliśmy, że coraz mniej osób korzysta z abonamentu Flame, a większość projektów, w których jest on używany, nie wykorzystuje w pełni jego możliwości. Utrzymanie tego planu cenowego jest na ogół nieopł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ą informacje o użyciu lub diagnostyczne poza Google Analytics?
Tak. Obecnie ta funkcja jest dostępna tylko na urządzeniach z iOS, ale w przyszłości może się to zmienić. Pakiet SDK Firebase na platformy Apple domyślnie zawiera framework FirebaseCoreDiagnostics
. Firebase używa tego frameworka do zbierania informacji o użyciu pakietu SDK i danych diagnostycznych, aby ustalać priorytety przyszłych ulepszeń usług. FirebaseCoreDiagnostics
jest opcjonalne, więc jeśli nie chcesz wysyłać dzienników diagnostycznych Firebase, możesz to zrobić, odłączając bibliotekę od aplikacji. Pełny kod źródłowy, w tym zarejestrowane wartości, możesz przeglądać na GitHubie.
A/B Testing
A/B Testing: Ile eksperymentów mogę utworzyć i przeprowadzić?
W każdym projekcie możesz mieć maksymalnie 300 eksperymentów, z czego maksymalnie 24 mogą być aktywne, a pozostałe mogą być wersjami roboczymi lub ukończonymi eksperymentami.
A/B Testing: Dlaczego po odłączeniu projektu od Google Analytics i ponownym połączeniu go z tą usługą nie mogę wyświetlać eksperymentów?
Połączenie z inną usługą Google Analytics spowoduje utratę dostępu do wcześniej utworzonych eksperymentów. Aby odzyskać dostęp do poprzedniego eksperymentu, ponownie połącz projekt z usługą Google Analytics, która była połączona w momencie tworzenia eksperymentu.
A/B Testing: Dlaczego podczas tworzenia eksperymentu Remote Config otrzymuję komunikat „Projekt nie jest połączony z Google Analytics”?
Jeśli masz już połączone usługi Firebase i Google Analytics, ale nadal widzisz komunikat o tym, że Google Analytics nie jest połączona, sprawdź, czy w projekcie istnieje strumień danych 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. Aby ją otworzyć, kliknij kolejno:settingsUstawienia projektu chevron_right Integracje chevron_right Google Analytics chevron_right Zarządzaj.
Utworzenie strumienia Google Analytics dla dowolnej aplikacji, która go nie ma, powinno rozwiązać problem. Strumienie dla brakujących aplikacji możesz utworzyć na kilka sposobów:
-
Jeśli tylko w przypadku 1–2 aplikacji brakuje powiązanego strumienia Google Analytics, możesz dodać strumień Google Analytics w jeden z tych sposobów:
- Usuń i ponownie dodaj w konsoli Firebase każdą aplikację bez aktywnego strumienia.
- W konsoli Google Analytics wybierz Administracja, kliknij Strumienie danych, a potem Dodaj strumień. Dodaj brakujące szczegóły aplikacji i kliknij Zarejestruj aplikację.
-
Jeśli brakuje Ci więcej niż kilku strumieni danych z aplikacji, najszybszym i najskuteczniejszym sposobem na ich utworzenie jest rozłączenie i ponowne połączenie usługi w Google Analytics:
- W settings Ustawienia projektu wybierz Integracje.
- Na karcie Google Analytics kliknij Zarządzaj, aby uzyskać dostęp do ustawień Firebase i Google Analytics.
- Zanotuj identyfikator usługi w Google Analytics i połączone konto Google Analytics.
- Kliknij more_vert Więcej i wybierz Odłącz Analytics od tego projektu.
-
Zapoznaj się z wyświetlonym ostrzeżeniem (nie martw się, w następnym kroku ponownie połączysz tę samą usługę), a potem kliknij Odłącz Google Analytics.
Po zakończeniu odłączania nastąpi przekierowanie na stronę Integrations (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, a następnie na wyświetlonej liście Usługa w Analytics wybierz identyfikator usługi.
Wyświetli się lista wszystkich aplikacji w projekcie. Wyświetlone zostaną dotychczasowe mapowania strumieni danych dla każdej aplikacji, a w przypadku aplikacji, które nie mają strumienia danych, zostanie on utworzony. - Aby ponownie połączyć usługę, kliknij Włącz Google Analytics.
- Kliknij Zakończ.
Jeśli po wykonaniu tych czynności nadal widzisz błąd podczas tworzenia testów A/B za pomocą Zdalnej konfiguracji, skontaktuj się z zespołem pomocy Firebase.
AdMob
AdMob: Czy mogę połączyć aplikacje na Windowsa z Firebase?
Nie, aplikacje na Windowsa 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ępu potrzebuję, aby połączyć aplikację Firebase z aplikacją AdMob?
Aby połączyć konta, musisz mieć te uprawnienia dostępu:
- AdMob: musisz być AdMob administratorem.
- Firebase: musisz mieć uprawnienie
firebase.links.create
, które jest przyznawane w ramach roli Właściciel i Administrator 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 AdMob koncieAdMob może połączyć aplikacje i aplikacje Firebase?
W przypadku kont, 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 AdMob a aplikacjami Firebase.AdMob
AdMob: Jakich pakietów SDK mam używać, aby korzystać z usługi AdMob?
Aby używać AdMob, zawsze korzystaj z pakietu SDK Google Mobile Ads zgodnie z opisem w tym artykule z odpowiedziami na najczęstsze pytania. Dodatkowo i opcjonalnie, jeśli chcesz zbierać dane o użytkownikachAdMob, uwzględnij w aplikacji pakiet SDK Firebase na Google Analytics.
- W przypadku projektów na iOS:
zaimportuj pakiet SDK Google Mobile Ads, postępując zgodnie z instrukcjami w AdMob dokumentacji iOS. - W projektach na Androida:
dodaj zależność pakietu SDK Google Mobile Ads do plikubuild.gradle
:
implementation 'com.google.android.gms:play-services-ads:24.4.0'
- W przypadku projektów w C++ i projektów w Unity: postępuj zgodnie z instrukcjami w odpowiedniej dokumentacji.
Analytics
Analytics: Dlaczego Google Analytics jest zalecanym elementem korzystania z usług Firebase?
Google Analytics to bezpłatne narzędzie do analityki dostępne bez ograniczeń, które współpracuje z funkcjami Firebase, aby dostarczać przydatne statystyki. Umożliwia on wyświetlanie dzienników zdarzeń w Crashlytics, skuteczności powiadomień w FCM, skuteczności precyzyjnych linków w Dynamic Links i danych o zakupach w aplikacji w Google Play. Umożliwia zaawansowane kierowanie na odbiorców w Remote Config, Remote Config personalizację i inne funkcje.
Google Analytics działa w konsoli jako warstwa inteligencji, która dostarcza bardziej przydatnych informacji o tym, jak tworzyć aplikacje wysokiej jakości, zwiększać liczbę użytkowników i zarabiać więcej pieniędzy.Firebase
Aby rozpocząć, zapoznaj się z dokumentacją.
Analytics: Jak mogę kontrolować sposób udostępniania danych Analytics innym usługom Firebase?
Domyślnie Twoje Google Analytics dane 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 Twoje Google Analytics dane. 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 otwórz settings > Ustawienia projektu.
- Otwórz kartę Integracje, a potem 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 pomiar na urządzeniu w mojej aplikacji na iOS: jak zaktualizowano pakiet SDK Analytics, aby obsługiwał pomiar konwersji na urządzeniu, i czy muszę go zaktualizować?
Przed wprowadzeniem aktualizacji pomiaru konwersji na urządzeniu za pomocą danych zdarzenia deweloperzy musieli ręcznie uwzględniać wiele modułów pakietu SDK, aby korzystać z możliwości pomiaru na urządzeniu, co było czasochłonne. W związku z tym zaktualizowaliśmy dotychczasowy domyślny moduł pakietu SDK (FirebaseAnalytics
), aby obejmował też funkcje pomiaru konwersji na urządzeniu w przypadku Google Ads.
Jeśli zainstalujesz domyślny pakiet SDK Firebase na iOS, Twoja aplikacja może też korzystać z możliwości pomiaru konwersji na urządzeniu.Google Analytics
Jeśli pakiet SDK jest przypięty do konkretnej wersji, zaktualizuj go do wersji 11.14.0 lub nowszej i opublikuj nową wersję aplikacji.
Możliwości kierowania | Stare moduły (wersje pakietu SDK < 11.14.0) |
Nowe moduły (wersje pakietu SDK ≥ 11.14.0) |
---|---|---|
Analytics IDFA Pomiar konwersji na urządzeniu (dane własne) Pomiar konwersji na urządzeniu (dane zdarzeń) |
Nie dotyczy | FirebaseAnalytics |
Analytics IDFA |
FirebaseAnalytics | FirebaseAnalytics/Core FirebaseAnalytics/IdentitySupport |
Analytics | FirebaseAnalytics/WithoutAdIdSupport (wycofano) | FirebaseAnalytics/Core |
Analytics
Pomiar konwersji na urządzeniu (dane własne) |
FirebaseAnalytics/WithoutAdIdSupport (wycofano) FirebaseAnalyticsOnDeviceConversion (wycofano) |
FirebaseAnalytics/Core GoogleAdsOnDeviceConversion* |
Analytics IDFA Pomiar konwersji na urządzeniu (dane własne) |
FirebaseAnalytics (wycofano) FirebaseAnalyticsOnDeviceConversion (wycofano) |
FirebaseAnalytics* |
Analytics IDFA Pomiar konwersji na urządzeniu (dane zdarzenia) |
Nie dotyczy | FirebaseAnalytics |
* – ta konfiguracja będzie też obejmować pomiar konwersji na urządzeniu (dane zdarzenia). W razie potrzeby możesz nadal korzystać z wycofanego samodzielnego modułu FirebaseAnalyticsOnDeviceConversion
.
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 ramach aktualizacji z października 2021 r.?
Podsumowanie tych zmian znajdziesz w artykule w Centrum pomocy Firebase Nowe funkcje Google Analytics 4 w Google Analytics dla Firebase.
Analytics: Dlaczego po odłączeniu Firebase od Google Analytics nie widzę w konsoli Firebase żadnych danych Analytics?
Analytics dane znajdują się w usłudze Google Analytics, a nie w projekcie Firebase. Jeśli usuniesz usługę lub usuniesz jej połączenie, dane Analytics nie będą dostępne dla Firebase i w konsoli Firebase zobaczysz pusty panel Analytics. Pamiętaj, że dane nadal znajdują się w usłudze połączonej wcześniej, więc zawsze możesz ponownie połączyć usługę z Firebase i wyświetlić dane Analytics w konsoli Firebase.
Połączenie z projektem Firebase nowego konta Google Analytics (a tym samym 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ść dotychczasowe dane ze starej usługi do nowej.
Analytics: Jeśli moja usługa Analytics i jej dane zostały usunięte, czy mogę je odzyskać?
Nie. Jeśli usługa została usunięta, nie można jej przywrócić ani odzyskać zebranych wcześniej 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 Firebasekonsoli 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 projektem Firebase nową usługę w Google Analytics i ponownie zacząć korzystać z Analytics?
Jeśli chcesz ponownie zacząć korzystać z Google Analytics, możesz połączyć z projektem Firebase nową lub dotychczasową usługę. Możesz to zrobić w Firebasekonsoli 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 nie można odzyskać wcześniej zebranych danych Analytics.
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 Analytics i jej dane zostaną usunięte, w przypadku korzystania z tych usług nastąpią te zmiany:
- Crashlytics – nie możesz już wyświetlać użytkowników, u których nie wystąpiły awarie, ścieżek nawigacji ani alertów o szybkości.
- Cloud Messaging i In-App Messaging – nie możesz już używać kierowania, danych kampanii, segmentacji odbiorców ani etykiet analitycznych.
- Remote Config – nie możesz już używać konfiguracji kierowanych ani personalizacji.
- A/B Testing – nie możesz już używać A/B Testing, ponieważ pomiary eksperymentu są dostarczane przez Google Analytics.
- Dynamic Links – wszystkie funkcje, które korzystają z danych z Google Analytics, przestaną działać.
Będzie to też miało wpływ na te integracje:
- Nie możesz już eksportowaćAnalytics danych do BigQuery.
- Nie będziesz już mieć dostępu do Google Ads integracji ani Google AdMob integracji.
Analytics: Jak podzielić użytkowników, którzy nie spełniają określonego kryterium?
Możesz zmienić sposób postrzegania problemu, stosując „kierowanie negatywne” na tych użytkowników. Na przykład możesz przeformułować problem jako „Nie wyświetlaj reklam osobom, które coś kupiły” i utworzyć listę odbiorców, na którą będziesz kierować reklamy.
Analytics: Czy grupy 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żytkownika zostaną zsynchronizowane. W przypadku niektórych funkcji musisz użyć interfejsu Google Analytics, np. segmentacji i zamkniętych ścieżek. Do interfejsu Google Analytics możesz uzyskać dostęp bezpośrednio za pomocą linków bezpośrednich z Firebasekonsoli.
Wszelkie zmiany wprowadzane w Firebase konsoli można też wprowadzać w Google Analytics, a zmiany te będą odzwierciedlane w Firebase.
Authentication
Firebase Authentication: W których regionach jest obsługiwane uwierzytelnianie za pomocą telefonu?
Firebase Authentication obsługuje weryfikację numeru telefonu na całym świecie, ale nie wszystkie sieci niezawodnie dostarczają wiadomości weryfikacyjne. W tych regionach odsetek dostarczonych wiadomości jest wysoki, więc uwierzytelnianie za pomocą telefonu powinno działać prawidłowo. W niektórych regionach niektórzy przewoźnicy są niedostępni ze względu na niski odsetek udanych 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 |
BY | Białoruś |
BZ | Belize |
Urząd certyfikacji | Kanada |
CD | Kongo (Kinszasa) |
CF | Republika Środkowej Afryki |
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, Chiny |
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 |
System równoważenia obciążenia | 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, Republika |
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 |
QA | 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 abonamencie Spark?
Od września 2024 r. w celu zwiększenia bezpieczeństwa i jakości usługi uwierzytelniania telefonicznego projekty Firebase muszą być połączone z kontem rozliczeniowym Cloud, aby można było włączyć i używać usługi SMS.
Firebase Authentication: Jak zapobiegać nadużyciom SMS-ów podczas korzystania z uwierzytelniania za pomocą telefonu?
Aby chronić projekt przed oszustwami z użyciem SMS-ów i nadużyciami interfejsu API, wykonaj te czynności:
Rozważ ustawienie zasad dotyczących regionu SMS-ów
Wyświetl wykorzystanie SMS-ów w regionie
Wyszukaj regiony, w których liczba wysłanych SMS-ów jest bardzo wysoka, a liczba zweryfikowanych SMS-ów jest bardzo niska (lub wynosi zero). Stosunek zweryfikowanych do wysłanych to wskaźnik sukcesu. Odsetek udanych dostarczeń zwykle wynosi 70–85%, ponieważ SMS-y nie są protokołem gwarantującym dostarczenie, a w niektórych regionach może dochodzić do nadużyć. Współczynnik poniżej 50% oznacza, że wysłano wiele SMS-ów, ale tylko niewielka liczba logowań zakończyła się sukcesem. Jest to typowy wskaźnik działań nieuczciwych podmiotów i pompowania ruchu SMS-owego.
Użyj zasad dotyczących regionów SMS-ów, aby odrzucać regiony SMS-ów o niskim współczynniku powodzenia lub zezwalać tylko na określone regiony, jeśli aplikacja jest przeznaczona do dystrybucji tylko na określonych rynkach.
Ograniczanie autoryzowanych domen uwierzytelniania
Użyj panelu ustawień uwierzytelniania, aby zarządzać autoryzowanymi domenami. Domena localhost
jest domyślnie dodawana do zatwierdzonych domen uwierzytelniania, aby uprościć proces tworzenia. Rozważ usunięcie domeny localhost
z autoryzowanych domen w projekcie produkcyjnym, aby uniemożliwić osobom niepowołanym uruchamianie kodu w ich localhost
w celu uzyskania dostępu do projektu produkcyjnego.
Włączanie i wymuszanie Sprawdzania aplikacji
Włącz Sprawdzanie aplikacji, aby chronić projekt przed nadużywaniem interfejsów API, potwierdzając, że żądania pochodzą tylko z aplikacji powiązanych z Twoim projektem.
Aby używać usługi App Check z Firebase Authentication, musisz przejść na wersję Firebase Authentication with Identity Platform.
Pamiętaj, że musisz włączyć sprawdzanie aplikacji w przypadku uwierzytelniania w konsoli Firebase (zanim to zrobisz, rozważ monitorowanie ruchu). Sprawdź też listę zatwierdzonych witryn reCAPTCHA Enterprise, aby upewnić się, że zawiera ona tylko witryny produkcyjne, oraz czy lista aplikacji zarejestrowanych w projekcie w Sprawdzaniu aplikacji jest prawidłowa.
Pamiętaj, że usługa App Check pomaga chronić przed atakami automatycznymi, potwierdzając, że wywołanie pochodzi z jednej z zarejestrowanych aplikacji. Nie zapobiega to korzystaniu z aplikacji w niezamierzony sposób (np. rozpoczynaniu i nigdy niekończeniu procesów logowania w celu generowania wysłanych SMS-ów).
Firebase Authentication: Czy numery telefonów przeniesione do nowego operatora są obsługiwane przez uwierzytelnianie za pomocą telefonu?
W tym czasie numery przenoszone między operatorami spowodują, że wszystkie SMS-y staną się niedostępne dla tych użytkowników. Nie ma obejścia 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, wykonaj instrukcje zawarte w tym artykule z odpowiedziami na najczęstsze pytania:
GoogleFragment: Google sign in failed
com.google.android.gms.common.api.ApiException: 13: Unable to get token.
at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
Sprawdź, czy logowanie Google jest prawidłowo włączone jako dostawca uwierzytelniania:
W konsoli Firebase otwórz sekcję Authentication.
Na karcie Metoda logowania wyłącz, a potem ponownie włącz metodę logowania Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google, wyłącz ją, a potem kliknij Zapisz.
Otwórz ponownie metodę logowania Google, włącz ją, a następnie kliknij Zapisz.
Upewnij się, że Twoja aplikacja używa aktualnego pliku konfiguracyjnego Firebase (
google-services.json
).
Pobierz plik konfiguracyjny aplikacji.Sprawdź, czy błąd nadal występuje. Jeśli tak, przejdź do następnego kroku rozwiązywania problemu.
Sprawdź, czy są dostępne wymagane podstawowe klienty OAuth 2.0.
Na stronie Dane logowania w konsoli Google Cloud odszukaj sekcję Identyfikatory klienta OAuth 2.0.
Jeśli klienci OAuth 2.0 nie są obecni (a Ty wykonałeś(-aś) wszystkie powyższe czynności), skontaktuj się z zespołem pomocy.
Firebase Authentication: dlaczego w aplikacji na platformę Apple otrzymuję ten błąd:
You must specify <clientID> in <GIDConfiguration>
?
You must specify <clientID> in <GIDConfiguration>
Jeśli widzisz ten błąd, wykonaj instrukcje zawarte w tym artykule z odpowiedziami na najczęstsze pytania:
You must specify |clientID| in |GIDConfiguration|
Sprawdź, czy logowanie Google jest prawidłowo włączone jako dostawca uwierzytelniania:
W konsoli Firebase otwórz sekcję Authentication.
Na karcie Metoda logowania wyłącz, a potem ponownie włącz metodę logowania Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google, wyłącz ją, a potem kliknij Zapisz.
Otwórz ponownie metodę logowania Google, włącz ją, a następnie kliknij Zapisz.
Upewnij się, że Twoja aplikacja używa aktualnego pliku konfiguracyjnego Firebase (
GoogleService-Info.plist
).
Pobierz plik konfiguracyjny aplikacji.Sprawdź, czy błąd nadal występuje. Jeśli tak, przejdź do następnego kroku rozwiązywania problemu.
Sprawdź, czy są dostępne wymagane podstawowe klienty OAuth 2.0.
Na stronie Dane logowania w konsoli Google Cloud odszukaj sekcję Identyfikatory klienta OAuth 2.0.
Jeśli klienci OAuth 2.0 nie są obecni (a Ty wykonałeś(-aś) wszystkie powyższe czynności), 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, wykonaj instrukcje zawarte w tym artykule z odpowiedziami na najczęstsze pytania:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Sprawdź, czy logowanie Google jest prawidłowo włączone jako dostawca uwierzytelniania:
W konsoli Firebase otwórz sekcję Authentication.
Na karcie Metoda logowania wyłącz, a potem ponownie włącz metodę logowania Google (nawet jeśli jest już włączona):
Otwórz metodę logowania Google, wyłącz ją, a potem kliknij Zapisz.
Otwórz ponownie metodę logowania Google, włącz ją, a następnie kliknij Zapisz.
W konfiguracji dostawcy logowania Google w sekcji Authentication sprawdź też, czy identyfikator klienta OAuth i tajny klucz klienta pasują do klienta internetowego wyświetlanego na stronie Dane logowania w konsoli Google Cloud (w sekcji Identyfikatory klienta OAuth 2.0).
Firebase Authentication: Dlaczego w mojej aplikacji internetowej logowanie z przekierowaniami kończy się niepowodzeniem i wyświetla się ten błąd:
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
?
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
Jeśli widzisz ten błąd, wykonaj instrukcje zawarte w tym artykule z odpowiedziami na najczęstsze pytania:
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
Ten błąd jest najprawdopodobniej spowodowany tym, że domena przekierowania nie jest wymieniona jako autoryzowana domena dla Firebase Authentication lub klucz interfejsu API używany w usłudze Firebase Authentication jest nieprawidłowy.
Najpierw sprawdź, czy domena YOUR_REDIRECT_DOMAIN znajduje się na liście autoryzowanych domen w projekcie Firebase. Jeśli domena przekierowania jest już na liście, przejdź do rozwiązywania problemu z nieprawidłowym kluczem interfejsu API.
Domyślnie pakiet SDK JavaScript korzysta z klucza API projektu Firebase oznaczonego jako Browser key
. Używa go do weryfikowania, czy adres URL przekierowania logowania jest prawidłowy zgodnie z listą autoryzowanych domen.Firebase Authentication
Authentication uzyskuje ten klucz interfejsu API w zależności od sposobu dostępu do pakietu SDK Authentication:
Jeśli do logowania użytkowników za pomocą pakietu SDK Authentication JS używasz Hostingpomocników uwierzytelniania, Firebase automatycznie pobiera klucz API wraz z pozostałą częścią konfiguracji Firebase za każdym razem, gdy wdrażasz aplikację w Firebase Hosting. Upewnij się, że
authDomain
w aplikacji internetowejfirebaseConfig
jest prawidłowo skonfigurowany do używania jednej z domen tej Hostingwitryny. Możesz to sprawdzić, otwierająchttps://authDomain__/firebase/init.json
i upewniając się, żeprojectId
jest zgodny z tym zfirebaseConfig
.Jeśli samodzielnie hostujesz kod logowania, możesz użyć pliku
__/firebase/init.json
, aby przekazać konfigurację Firebase do samodzielnie hostowanego narzędzia pomocniczego Authentication JS SDK Redirect. Klucz API iprojectId
wymienione w tym pliku konfiguracyjnym powinny być zgodne z aplikacją internetowąfirebaseConfig
.
Sprawdź, czy ten klucz interfejsu API nie został usunięty: w konsoli Google Cloud otwórz panel Interfejsy API i usługi > Dane logowania, w którym są wymienione wszystkie klucze interfejsu API w Twoim projekcie.
Jeśli
Browser key
nie został usunięty, sprawdź:Sprawdź, czy Firebase Authentication API znajduje się na liście dozwolonych interfejsów API, do których klucz ma dostęp (więcej informacji o ograniczeniach interfejsów API dotyczących kluczy interfejsu API).
Jeśli samodzielnie hostujesz kod logowania, upewnij się, że klucz interfejsu API wymieniony w pliku
__/firebase/init.json
jest zgodny z kluczem interfejsu API w konsoli Cloud. W razie potrzeby popraw klucz w pliku, a potem wdróż aplikację ponownie.Jeśli
Browser key
został usunięty, możesz poprosić Firebase o wygenerowanie nowego klucza interfejsu API: w konsoli Firebase kliknij settings > Ustawienia projektu, a następnie w sekcji Twoje aplikacje kliknij swoją aplikację internetową. Spowoduje to automatyczne utworzenie klucza interfejsu API, który będzie widoczny w sekcji Konfiguracja pakietu SDK w przypadku Twojej aplikacji internetowej.
Pamiętaj, że w konsoli Cloud ten nowy klucz interfejsu API nie będzie się nazywać
Browser key
, ale będzie miał taką samą nazwę jak pseudonim aplikacji internetowej Firebase. Jeśli zdecydujesz się dodać ograniczenia interfejsu API do tego nowego klucza, upewnij się, że interfejs API Firebase Authentication znajduje się na liście dozwolonych interfejsów API.Po utworzeniu nowego klucza interfejsu API wykonaj odpowiednie czynności poniżej:
Jeśli używasz zarezerwowanych Hostingadresów URL, ponownie wdróż aplikację w Firebase, aby mogła automatycznie uzyskać nowy klucz API wraz z pozostałą częścią konfiguracji Firebase.
Jeśli samodzielnie hostujesz kod logowania, skopiuj nowy klucz interfejsu API i dodaj go do pliku
__/firebase/init.json
, a następnie ponownie wdróż aplikację.
Firebase Authentication: Jak ręcznie utworzyć klienta usługi internetowej OAuth?
Otwórz stronę Dane logowania w konsoli Google Cloud.
U góry strony wybierz Utwórz dane logowania > Identyfikator klienta OAuth.
Jeśli pojawi się prośba o skonfigurowanie ekranu zgody, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, a potem wykonaj kolejne czynności opisane w tym artykule.
Utwórz klienta usługi internetowej OAuth:
Jako Typ aplikacji wybierz Aplikacja internetowa.
W sekcji Autoryzowane źródła JavaScriptu dodaj te informacje:
http://localhost
http://localhost:5000
https://PROJECT_ID.firebaseapp.com
https://PROJECT_ID.web.app
W sekcji Autoryzowane identyfikatory URI przekierowania dodaj te informacje:
https://PROJECT_ID.firebaseapp.com/__/auth/handler
https://PROJECT_ID.web.app/__/auth/handler
Zapisz klienta OAuth.
Skopiuj nowy identyfikator klienta OAuth i tajny klucz klienta do schowka.
W konsoli Firebase otwórz sekcję Authentication.
Na karcie Metoda logowania otwórz dostawcę Logowanie przez Google, a następnie wklej identyfikator klienta serwera internetowego i tajny klucz, które zostały utworzone i skopiowane z Google Cloud konsoli. Kliknij Zapisz.
Firebase Authentication: Jak jest określana wartość %APP_NAME%
w szablonie e-maila z potwierdzeniem, który można wysłać do użytkownika, gdy zarejestruje się on za pomocą adresu e-mail i hasła?
Przed grudniem 2022 r. symbol %APP_NAME%
w szablonie e-maila był wypełniany nazwą marki OAuth, która była automatycznie udostępniana za każdym razem, gdy w projekcie Firebase rejestrowano aplikację na Androida. Ponieważ marka OAuth jest udostępniana tylko wtedy, gdy włączone jest logowanie przez Google, poniżej opisujemy, jak określa się wartość %APP_NAME%
:
Jeśli nazwa marki OAuth jest dostępna, w szablonie e-maila w miejscu
%APP_NAME%
pojawi się nazwa marki OAuth (tak jak przed grudniem 2022 r.).Jeśli nazwa jednostki OAuth nie jest dostępna, sposób określania wartości
%APP_NAME%
w szablonie e-maila jest następujący:W przypadku aplikacji internetowych
%APP_NAME%
będzie domyślną nazwą witryny (wartością poprzedzającą.firebaseapp.com
i.web.app
, zwykle identyfikatorem projektu Firebase).Firebase HostingW 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 Sklepie Play lub App Store (odpowiednio).W przeciwnym razie
%APP_NAME%
będzie domyślną nazwą witryny (wartość przed.firebaseapp.com
i.web.app
, zwykle identyfikator projektu Firebase).Firebase Hosting
Pamiętaj, że jeśli wyszukiwanie domyślnej nazwy witryny Firebase Hosting się nie powiedzie, ostatecznym rozwiązaniem zastępczym jest użycie identyfikatora projektu Firebase jako
%APP_NAME%
.
Cloud Functions
Cloud Functions obsł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 Firebase CLI.
- Zaktualizuj pole
engines
wpackage.json
funkcji. - Opcjonalnie możesz przetestować zmiany za pomocą Firebase Local Emulator Suite.
- Ponownie wdrożyć wszystkie funkcje.
Jak sprawdzić, czy funkcje zostały wdrożone w określonym środowisku wykonawczym Node.js?
W konsoli Firebase otwórz panel funkcji, wybierz funkcję i sprawdź jej język w sekcji Dodatkowe informacje.
Korzystam z Rozszerzeń w Firebase. Czy aktualizacje środowiska wykonawczego Cloud Functions będą miały na mnie wpływ?
Tak. Ponieważ rozszerzenia korzystają z Cloud Functions, środowisko wykonawcze rozszerzeń będzie musiało być aktualizowane w tym samym czasie co Cloud Functions.
Zalecamy okresowe aktualizowanie do najnowszej wersji każdego rozszerzenia zainstalowanego w projekcie. Rozszerzenia projektów możesz uaktualnić w Firebasekonsoli lub za pomocą Firebaseinterfejsu wiersza poleceń.
Cloud Functions ceny
Dlaczego do korzystania z Cloud Functions for Firebase potrzebuję konta rozliczeniowego?
Cloud Functions for Firebase korzysta z niektórych płatnych usług Google. Wdrożenia nowych 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 Cloud Build w ten sam sposób, ale do przechowywania danych używają Container Registry i Cloud Storage zamiast Artifact Registry. Korzystanie z tych usług będzie rozliczane dodatkowo do istniejących cen.
Miejsce na dane w przypadku interfejsu wiersza poleceń Firebase w wersji 11.2.0 i nowszych
Artifact Registry zapewnia kontenery, w których działają funkcje. Artifact Registry pierwsze 500 MB jest bezpłatne, więc pierwsze wdrożenia funkcji mogą nie wiązać się z żadnymi opłatami. Po przekroczeniu tego progu każdy dodatkowy GB miejsca na dane jest rozliczany w cenie 0, 10 USD miesięcznie.
Miejsce na dane w przypadku interfejsu wiersza poleceń Firebase w wersji 11.1.x i starszych
W przypadku funkcji wdrożonych w starszych wersjach Container Registry udostępnia kontenery, w których działają funkcje. Opłata będzie naliczana 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 rozliczany w wysokości 0, 026 USD miesięcznie.
Aby dowiedzieć się więcej o tym, jak może zmienić się Twój rachunek, zapoznaj się z tymi
- Ceny Cloud Functions: obecny bezpłatny poziom pozostaje bez zmian.
- Ceny Cloud Build: Cloud Build oferuje bezpłatny poziom.
- Artifact Registry ceny,
- Container Registry ceny,
Czy Cloud Functions for Firebase nadal można używać bezpłatnie?
Tak. W ramach abonamentu Blaze Cloud Functions udostępnia bezpłatny poziom wywołań, czasu obliczeniowego i ruchu internetowego. Pierwsze 2 mln wywołań, 400 tys. GB-sekund, 200 tys. CPU-sekund i 5 GB ruchu wychodzącego z internetu jest bezpłatne w każdym miesiącu. Opłaty będą naliczane tylko za wykorzystanie wykraczające poza te progi.
Po wykorzystaniu pierwszych 500 MB bezpłatnego miejsca na dane każda operacja wdrażania będzie wiązać się z niewielkimi opłatami za miejsce na dane wykorzystywane na potrzeby kontenera funkcji. Jeśli proces programowania zależy od wdrażania funkcji na potrzeby testowania, możesz dodatkowo zminimalizować koszty, używając Firebase Local Emulator Suite podczas programowania.
Zapoznaj się z abonamentami Firebase i Cloud Functionsprzykładowymi scenariuszami cenowymi.
Czy Firebase planuje zwiększenie limitów i limitów przydziału dla Cloud Functions for Firebase?
Nie. Nie planujemy zmian w limitach, z wyjątkiem usunięcia maksymalnego limitu czasu kompilacji. Zamiast otrzymywać błędy lub ostrzeżenia po osiągnięciu dziennego limitu czasu kompilacji wynoszącego 120 minut, będziesz obciążany(-a) opłatami zgodnie z warunkami planu cenowego Blaze. Zobacz Limity.
Czy mogę otrzymać Google Cloud300 USD na reklamy?
Tak. Możesz utworzyć Cloud Billing konto w Google Cloud konsoli, aby otrzymać środki w wysokości 300 USD, a następnie połączyć to konto Cloud Billing z projektem Firebase.
Więcej informacji o Google Cloudkredycieznajdziesztutaj.
Pamiętaj, że jeśli to zrobisz, musisz skonfigurować abonament Blaze w konsoli Firebase, aby projekt działał nadal po wykorzystaniu środków w wysokości 300 USD.
Chcę skorzystać z ćwiczenia, aby dowiedzieć się więcej o Firebase. Czy możesz mi udostępnić tymczasowe konto rozliczeniowe?
Nie, przepraszam. Do tworzenia aplikacji możesz używać emulatora Firebase bez konta Cloud Billing. Możesz też skorzystać z Google Cloudbezpłatnego okresu próbnego. Jeśli nadal masz problemy z opłaceniem rachunku z powodu tej zmiany, skontaktuj się z zespołem pomocy Firebase.
Obawiam się, że dostanę ogromny rachunek.
Aby kontrolować koszty, możesz skonfigurować alerty budżetowe w konsoli Google Cloud. Możesz też ustawić limity liczby instancji rozliczanych utworzonych dla każdej z Twoich funkcji. Przykłady typowych scenariuszy i ich kosztów znajdziesz w sekcji Cennik Cloud Functions.
Jak sprawdzić bieżące opłaty za rozliczenia?
Wyświetl panel Wykorzystanie i płatności w konsoli Firebase.
Korzystam z Rozszerzeń w Firebase. Czy potrzebuję konta rozliczeniowego?
Tak. Ponieważ rozszerzenia korzystają z Cloud Functions, będą podlegać tym samym opłatom co inne funkcje.
Aby korzystać z rozszerzeń, musisz przejść na abonament Blaze. Za zasoby Firebase wymagane przez każde zainstalowane rozszerzenie będziemy pobierać niewielką opłatę (zwykle ok. 0,01 USD miesięcznie) nawet wtedy, gdy nie są one używane. Oprócz tego będziemy pobierać opłaty za korzystanie z usług Firebase.
Cloud Messaging
Cloud Messaging: Jaka jest różnica między kompozycją powiadomień a Cloud Messaging?
Firebase Cloud Messaging udostępnia pełny zestaw funkcji przesyłania wiadomości za pomocą pakietów SDK klienta i protokołu serwera HTTP. W przypadku wdrożeń o bardziej złożonych wymaganiach dotyczących przesyłania wiadomości odpowiednim wyborem jest FCM.
Kreator powiadomień to lekkie, bezserwerowe rozwiązanie do przesyłania wiadomości oparte na Firebase Cloud Messaging. Dzięki przyjaznej dla użytkownika konsoli graficznej i mniejszym wymaganiom dotyczącym kodowania kompozytor powiadomień umożliwia użytkownikom łatwe wysyłanie wiadomości w celu ponownego zaangażowania i utrzymania użytkowników, wspierania rozwoju aplikacji oraz prowadzenia kampanii marketingowych.
Uprawnienia | Edytor powiadomień | Cloud Messaging | |
---|---|---|---|
Cel | Konkretne urządzenie | ||
Klienci subskrybujący tematy (np. pogodę) | |||
Klienci w zdefiniowanym segmencie użytkowników (aplikacja, wersja, język) | |||
Klienci w określonych grupach odbiorców usługi Analytics | |||
Klienci w grupach urządzeń | |||
Wysyłanie danych od klienta do serwera | |||
Typ wiadomości | Powiadomienia do 2 KB | ||
Wiadomości z danymi o rozmiarze do 4 KB | |||
Dostawa | Natychmiast | ||
Lokalny czas na urządzeniu klienta w przyszłości | |||
Analytics | Wbudowane gromadzenie danych analitycznych dotyczących powiadomień i analiza ścieżki |
Cloud Messaging: firma Apple ogłosiła, że wycofuje starszy protokół binarny dla APNs. Czy muszę coś zrobić?
Nie. Firma Firebase Cloud Messaging przeszła na protokół APNs oparty na HTTP/2 w 2017 r. Jeśli do wysyłania powiadomień na urządzenia z iOS używasz FCM, nie musisz nic robić.
Cloud Messaging: Czy muszę korzystać z innych usług Firebase, aby używać FCM?
Firebase Cloud Messaging możesz używać jako samodzielnego komponentu w taki sam sposób jak GCM, bez korzystania z innych usług Firebase.
Cloud Messaging: Jestem deweloperem korzystającym z komunikacji w chmurze Google (GCM). Czy mam przenieść się do Firebase Cloud Messaging?
FCM to nowa wersja GCM pod marką Firebase. Korzysta z infrastruktury GCM, ale ma nowe pakiety SDK, które ułatwiają Cloud Messaging tworzenie aplikacji.
Zalety przejścia na pakiet FCM SDK:
- Łatwiejsze tworzenie aplikacji klienckich. Nie musisz już pisać własnej logiki ponawiania rejestracji lub subskrypcji.
- Gotowe rozwiązanie do powiadomień. Możesz użyć narzędzia do tworzenia powiadomień, czyli bezserwerowego rozwiązania do powiadomień z konsolą internetową, które umożliwia wysyłanie powiadomień do określonych odbiorców na podstawie statystyk z Google Analytics.
Aby przejść z pakietów GCM SDK na pakiety FCM SDK, zapoznaj się z przewodnikami migracji aplikacji na Androida i iOS.
Cloud Messaging: Dlaczego urządzenia docelowe nie otrzymują wiadomości?
Jeśli wygląda na to, że urządzenia nie otrzymały wiadomości, najpierw sprawdź te 2 potencjalne przyczyny:
Obsługa wiadomości na pierwszym planie w przypadku powiadomień. Aplikacje klienckie muszą dodać logikę obsługi wiadomości, aby obsługiwać wiadomości z powiadomieniami, gdy aplikacja działa na pierwszym planie na urządzeniu. Szczegółowe informacje znajdziesz w przypadku iOS i Androida.
Ograniczenia dotyczące zapory sieciowej Jeśli Twoja organizacja ma zaporę sieciową, która ogranicza ruch do lub z internetu, musisz ją skonfigurować tak, aby zezwalała na połączenie z 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 portu 5228, ale czasami korzysta też z portów 5229 i 5230. FCM nie udostępnia konkretnych adresów IP, więc zezwól zaporze sieciowej na akceptowanie połączeń wychodzących w przypadku wszystkich adresów IP zawartych w blokach adresów IP wymienionych na liście ASN 15169 Google.
Cloud Messaging: W mojej aplikacji na Androida zaimplementowano
onMessageReceived
, ale nie jest on wywoływany.
Gdy aplikacja działa w tle,
wiadomości z powiadomieniami są wyświetlane na pasku systemowym, a funkcja onMessageReceived
nie jest wywoływana. W przypadku powiadomień z ładunkiem danych powiadomienie jest wyświetlane w obszarze powiadomień, a dane dołączone do powiadomienia można pobrać z intencji uruchomionej, gdy użytkownik kliknie powiadomienie.
Więcej informacji znajdziesz w artykule Odbieranie i obsługiwanie wiadomości.
Cloud Messaging: Dlaczego podczas rejestracji w FCM moja aplikacja otrzymuje komunikat „Invalid argument for the given fid”?
FID (Firebase Installation ID) to identyfikator instancji aplikacji. Jeśli dane instalacji instancji aplikacji zostaną przywrócone z kopii zapasowej, FCM zwróci ten błąd, aby wskazać, że identyfikator FID jest już zajęty przez inną instancję aplikacji, więc bieżąca instancja aplikacji nie może użyć identyfikatora FID do zarejestrowania się w FCM.
Zalecamy deweloperom wykonanie w aplikacji tych czynności:
- Wyklucz
dane instalacji Firebase z kopii zapasowej. Dane instalacji Firebase są przechowywane w
PersistedInstallation....json
. Nazwa pliku jest stałą wartością w przypadku aplikacji. Na przykład:<exclude domain="file" path="PersistedInstallation....json" />
- Usuń plik
PersistedInstallation....json
po otrzymaniu błędów „Nieprawidłowy argument dla danego identyfikatora pliku”. Gdy następnym razem aplikacja zarejestruje się w FCM, zostanie utworzony nowy identyfikator FID.
Kreator powiadomień: jestem deweloperem korzystającym z Google Cloud Messaging (GCM) i chcę używać Kreatora powiadomień. Co mam zrobić?
Kreator powiadomień to gotowe rozwiązanie, które umożliwia wysyłanie powiadomień do określonych odbiorców na podstawie statystyk z Google Analytics. Kreator powiadomień udostępnia też analizę ścieżki dla każdej wiadomości, co ułatwia ocenę skuteczności powiadomień.
Jeśli jesteś deweloperem korzystającym z GCM, aby używać narzędzia do tworzenia powiadomień, musisz przejść z pakietów SDK GCM na pakiety SDK FCM. Zapoznaj się z przewodnikami po migracji aplikacji na Androida i iOS.
FCM limity
Jak powiadomić dużą bazę klientów w ciągu 2 minut?
Niestety nie możemy obsługiwać tego przypadku użycia. Ruch musi być rozłożony na 5 minut.
Moja aplikacja powiadamia użytkowników o wydarzeniach, a te wiadomości muszą być dostarczane natychmiast, aby wspierać mój model biznesowy. Czy mogę otrzymać większy limit?
Nie możemy zwiększyć przydziału z tego powodu. Ruch musi być rozłożony na 5 minut.
Moje wiadomości dotyczą zaplanowanych wydarzeń. Jak mogę wysyłać cały ruch na początku godziny?
Zalecamy rozpoczęcie wysyłania powiadomień co najmniej 5 minut przed wydarzeniem.
Ile czasu zajmie realizacja mojej prośby o zwiększenie limitu?
Zależy to od sposobu korzystania z FCM. W każdym przypadku odpowiedź otrzymasz w ciągu kilku dni roboczych. W niektórych przypadkach może dojść do wymiany informacji na temat korzystania z FCM i różnych okoliczności, co może wydłużyć proces. Jeśli spełniasz wszystkie wymagania, większość zgłoszeń rozpatrzymy w ciągu 2 tygodni.
Jak mogę monitorować wykorzystanie limitu?
Zapoznaj się z wskazówkami Google Cloud dotyczącymi wykresów i monitorowania wskaźników limitów.
Błędy 429 są dla mnie lub mojej firmy trudne do rozwiązania. Czy mogę uzyskać wyjątek lub większy limit, aby uniknąć błędów 429?
Rozumiemy, że limity mogą być problematyczne, ale są one niezbędne, aby usługa była niezawodna. Nie możemy przyznawać wyjątków.
Czy mogę uzyskać większy limit na potrzeby tymczasowego wydarzenia?
Możesz poprosić o dodatkowy limit na potrzeby wydarzenia trwającego maksymalnie miesiąc. Zgłoś prośbę co najmniej miesiąc przed wydarzeniem, podając dokładne informacje o jego rozpoczęciu i zakończeniu. Zespół FCM dołoży wszelkich starań, aby spełnić Twoją prośbę (nie możemy zagwarantować zwiększenia limitu). Po zakończeniu wydarzenia te zwiększenia limitów zostaną cofnięte.
Czy mój obecny limit może ulec zmianie?
Google nie będzie tego robić bez ważnego powodu, ale w razie potrzeby może zmienić limity, aby chronić integralność systemu. W miarę możliwości Google będzie Cię powiadamiać o takich zmianach z wyprzedzeniem.
Cloud Storage for Firebase
Cloud Storage for Firebase: Jakie zmiany w domyślnym koszyku zostały ogłoszone we wrześniu 2024 r.?
Więcej informacji o zmianach dotyczących domyślnego zasobnika Cloud Storage znajdziesz w Cloud Storagedokumentacji.
Cloud Storage for Firebase: dlaczego nie mogę korzystać z Cloud Storage for Firebase?
Cloud Storage for Firebase tworzy domyślny zasobnik w App Engine w ramach bezpłatnej wersji. Dzięki temu możesz szybko zacząć korzystać z Firebase i Cloud Storage for Firebase bez konieczności podawania danych karty kredytowej ani włączania konta Cloud Billing. Umożliwia też łatwe udostępnianie danych między Firebase a projektem Google Cloud.
Istnieją jednak 2 znane przypadki, w których nie można utworzyć tego zasobnika i nie można używać Cloud Storage for Firebase:
- Projekt zaimportowany z Google Cloud, który miał aplikację App Engine Master/SlaveDatastore.
-
Projekt zaimportowany z Google Cloud, który ma projekty z prefiksami domen. Przykład:
domain.com:project-1234
.
Obecnie nie ma obejść tych problemów. Zalecamy utworzenie nowego projektu w Firebasekonsoli i włączenie w nim Cloud Storage for Firebase.
Cloud Storage for Firebase: Dlaczego podczas korzystania z interfejsu Cloud Storage for Firebase API otrzymuję odpowiedzi z kodem błędu 412 dotyczące uprawnień konta usługi i nieudanych operacji na koncie usługi?
Prawdopodobnie otrzymujesz kody błędów 412, ponieważ interfejs API Cloud Storage for Firebase nie jest włączony w Twoim projekcie lub na koncie usługi brakuje wymaganych uprawnień.
Zapoznaj się z odpowiedziami na najczęstsze pytania.
Cloud Storage for Firebase: Czy w projektach w ramach pakietu Spark mogę przechowywać pliki wykonywalne?
W przypadku projektów w ramach bezpłatnego pakietu (Spark) Firebase blokuje przesyłanie i hostowanie niektórych typów plików wykonywalnych na Windowsa, Androida i Apple przez Cloud Storage for Firebase i Firebase Hosting. Zasady te mają zapobiegać nadużyciom na naszej platformie.
Wyświetlanie, hosting i przesyłanie niedozwolonych plików jest blokowane we wszystkich projektach Spark utworzonych 28 września 2023 r. lub później. W przypadku istniejących projektów Spark z plikami przesłanymi przed tą datą takie pliki nadal można przesyłać i hostować.
To ograniczenie dotyczy projektów w ramach planu Spark. Nie dotyczy to projektów w abonamencie Blaze (płatność za wykorzystanie).
Na platformach Firebase Hosting i Cloud Storage for Firebase nie można umieszczać tych typów plików:
- Pliki systemu Windows z rozszerzeniami
.exe
,.dll
i.bat
- Pliki na Androida z rozszerzeniem
.apk
- Pliki platformy Apple z rozszerzeniem
.ipa
Co muszę zrobić?
Jeśli po 28 września 2023 r. nadal chcesz hostować te typy plików:
- W przypadku hostingu: przed wdrożeniem tych typów plików w Firebase Hosting za pomocą polecenia
firebase deploy
musisz przejść na abonament Blaze. - W przypadku usługi Pamięć: przejdź na abonament Blaze, aby przesyłać te typy plików do wybranego zasobnika za pomocą interfejsu GCS CLI, Firebase konsoli lub Google Cloud konsoli.
Używaj narzędzi Firebase do zarządzania zasobami Firebase Hosting i Cloud Storage.
- Aby zarządzać zasobami w Firebase Hosting, użyj konsoli Firebase i usuń wersje zgodnie z tym przewodnikiem.
- Aby zarządzać zasobami w Cloud Storage, otwórz stronę produktu Storage w projekcie.
- Na karcie Pliki znajdź niedozwolone pliki do usunięcia w hierarchii folderów, a następnie zaznacz je, klikając pole 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 klienta znajdziesz w naszej dokumentacji.
Cloud Storage for Firebase: Dlaczego obserwuję nieoczekiwany wzrost liczby operacji przesyłania i pobierania?
Wcześniej żądania pobierania i przesyłania do interfejsu Cloud Storage for Firebase API nie były prawidłowo zliczane. Podjęliśmy działania, aby rozwiązać ten problem. Zmiany zaczną obowiązywać 15 września 2023 r.
W przypadku użytkowników Blaze operacje przesyłania i pobierania zaczną być wliczane do miesięcznego rachunku. W przypadku użytkowników Spark będą oni wliczani do miesięcznego limitu bezpłatnego.
Zalecamy monitorowanie strony Wykorzystanie, aby sprawdzać, czy nie ma na niej wzrostów, które mogą być uwzględniane w limitach.
Cloud Storage for Firebase: Dlaczego w moich projektach Firebase, które korzystają z Cloud Storage for Firebase, widzę nowe identyfikatory kont usług?
Firebase używa kont usług do obsługi i zarządzania usługami bez udostępniania danych logowania użytkowników. Gdy utworzysz projekt Firebase, możesz zauważyć, że w projekcie jest już dostępnych kilka kont usługi.
Konto usługi, którego używa Cloud Storage for Firebase, jest ograniczone do Twojego projektu i ma nazwę service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com
.
Jeśli przed 19 września 2022 r. używasz Cloud Storage for Firebase, w przypadku wcześniej połączonych zasobników Cloud Storage możesz zobaczyć dodatkowe konto usługi o nazwie firebase-storage@system.gserviceaccount.com
. Od 19 września 2022 r. to konto usługi nie jest już obsługiwane.
Wszystkie konta usługi powiązane z Twoim projektem możesz wyświetlić w Firebasekonsoli na karcie Konta usługi.
Dodawanie nowego konta usługi
Jeśli konto usługi zostało wcześniej usunięte lub nie ma go w projekcie, możesz je dodać w jeden z tych sposobów:
- (Zalecane) Automatycznie: użyj punktu końcowego REST AddFirebase, aby ponownie zaimportować zasobnik do Firebase. Wystarczy wywołać ten punkt końcowy tylko raz, a nie raz dla każdego połączonego zasobnika.
-
Ręcznie: wykonaj czynności opisane w artykule Tworzenie kont usługi i zarządzanie nimi.
Postępuj zgodnie z tym przewodnikiem i 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
Zdecydowanie odradzamy usuwanie konta usługi, ponieważ może to zablokować dostęp do zasobników Cloud Storage z aplikacji. Aby usunąć konto usługi z projektu, wykonaj instrukcje podane w artykule Wyłączanie konta usługi.
Cloud Storage for Firebase ceny
Cloud Storage for Firebase: Jakie zmiany w wymaganiach dotyczących planów cenowych dla Cloud Storage zostały ogłoszone we wrześniu 2024 r.?
Więcej informacji o zmianach w wymaganiach dotyczących abonamentów w przypadku Cloud Storage znajdziesz w dokumentacjiCloud Storage.
Jak mogę przewidzieć, ile zapłacę za operacje przesyłania i pobierania?
Odwiedź stronę z cennikiem Firebase i skorzystaj z kalkulatora abonamentu Blaze. Kalkulator zawiera listę wszystkich typów użycia Cloud Storage for Firebase.
Za pomocą suwaków wpisz oczekiwane wykorzystanie zasobnika Storage. Kalkulator oszacuje Twój miesięczny rachunek.
Co się stanie, jeśli przekroczę limity przesyłania, pobierania lub miejsca na dane w ramach subskrypcji Spark dla Cloud Storage for Firebase?
Jeśli w projekcie w abonamencie Spark przekroczysz limity dotyczące Cloud Storage, skutki zależą od rodzaju przekroczonego limitu:
- Jeśli przekroczysz limit zapisanych GB, nie będziesz mieć możliwości przechowywania w tym projekcie żadnych dodatkowych danych, dopóki nie usuniesz części przechowywanych danych lub nie przejdziesz na abonament, który zapewnia więcej miejsca na dane lub nieograniczone miejsce na dane.
- Jeśli przekroczysz limit pobranych GB, Twoja aplikacja nie będzie mogła pobierać więcej danych do następnego dnia (od północy czasu pacyficznego w USA), 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 w USA), chyba że przejdziesz na plan z mniej restrykcyjnymi limitami lub bez limitów.
Crashlytics
Odwiedź Crashlyticsstronę z rozwiązywaniem problemów i najczęstszymi pytaniami, gdzie znajdziesz przydatne wskazówki i odpowiedzi na więcej pytań.
Dynamic Links
Dynamic Links: Jakie są plany Firebase na przyszłość w przypadku Dynamic Links?
Dynamic Links: Dlaczego moja aplikacja na Androida uzyskuje dostęp do każdego linku dynamicznego 2 razy?
Interfejs getInvitation
API usuwa zapisany dynamiczny link, aby zapobiec dwukrotnemu dostępowi do niego. Pamiętaj, aby wywoływać ten interfejs API z parametrem autoLaunchDeepLink
ustawionym na false
w każdym działaniu związanym z precyzyjnym linkiem, aby wyczyścić go w przypadku, gdy działanie jest wywoływane poza głównym działaniem.
Hosting
Hosting: Czy w projektach w ramach planu Spark mogę przechowywać pliki wykonywalne?
W przypadku projektów w ramach bezpłatnego pakietu (Spark) Firebase blokuje przesyłanie i hostowanie niektórych typów plików wykonywalnych na Windowsa, Androida i Apple przez Cloud Storage for Firebase i Firebase Hosting. Zasady te mają zapobiegać nadużyciom na naszej platformie.
Wyświetlanie, hosting i przesyłanie niedozwolonych plików jest blokowane we wszystkich projektach Spark utworzonych 28 września 2023 r. lub później. W przypadku istniejących projektów Spark z plikami przesłanymi przed tą datą takie pliki nadal można przesyłać i hostować.
To ograniczenie dotyczy projektów w ramach planu Spark. Nie dotyczy to projektów w abonamencie Blaze (płatność za wykorzystanie).
Na platformach Firebase Hosting i Cloud Storage for Firebase nie można umieszczać tych typów plików:
- Pliki systemu Windows z rozszerzeniami
.exe
,.dll
i.bat
- Pliki na Androida z rozszerzeniem
.apk
- Pliki platformy Apple z rozszerzeniem
.ipa
Co muszę zrobić?
Jeśli po 28 września 2023 r. nadal chcesz hostować te typy plików:
- W przypadku hostingu: przed wdrożeniem tych typów plików w Firebase Hosting za pomocą polecenia
firebase deploy
musisz przejść na abonament Blaze. - W przypadku usługi Pamięć: przejdź na abonament Blaze, aby przesyłać te typy plików do wybranego zasobnika za pomocą interfejsu GCS CLI, Firebase konsoli lub Google Cloud konsoli.
Używaj narzędzi Firebase do zarządzania zasobami Firebase Hosting i Cloud Storage.
- Aby zarządzać zasobami w Firebase Hosting, użyj konsoli Firebase i usuń wersje zgodnie z tym przewodnikiem.
- Aby zarządzać zasobami w Cloud Storage, otwórz stronę produktu Storage w projekcie.
- Na karcie Pliki znajdź niedozwolone pliki do usunięcia w hierarchii folderów, a następnie zaznacz je, klikając pole 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 klienta znajdziesz w naszej dokumentacji.
Hosting: dlaczego w tabeli Hosting historii wersjiHosting w konsoli Firebase wyświetla się liczba plików większa niż w moim projekcie lokalnym?
Firebase automatycznie dodaje dodatkowe pliki zawierające metadane witryny Hosting, które są uwzględniane w łącznej liczbie plików w wersji.
Hosting: Jaki jest największy rozmiar pliku, który mogę wdrożyć w usłudze Firebase Hosting?
Hosting ma maksymalny rozmiar 2 GB dla poszczególnych plików.
W przypadku większych plików zalecamy korzystanie z Cloud Storage, które oferuje maksymalny rozmiar poszczególnych obiektów w zakresie terabajtów.
Hosting: Ile witryn Hosting mogę mieć w jednym projekcie Firebase?
Firebase HostingFunkcja wielu witryn obsługuje maksymalnie 36 witryn na projekt.
Performance Monitoring
Odwiedź Performance Monitoringstronę z rozwiązywaniem problemów i najczęstszymi pytaniami, gdzie znajdziesz przydatne wskazówki i odpowiedzi na więcej pytań.
Performance Monitoring: Ile mogę utworzyć wzorców niestandardowych adresów URL?
Możesz utworzyć maksymalnie 400 niestandardowych wzorców adresów URL na aplikację i maksymalnie 100 niestandardowych wzorców adresów URL na domenę w przypadku danej aplikacji.
Performance Monitoring: Dlaczego nie widzę danych o skuteczności w czasie rzeczywistym?
Aby wyświetlać dane o wydajności w czasie rzeczywistym, upewnij się, że Twoja aplikacja korzysta z pakietu SDK w wersji Performance Monitoring, która jest zgodna z przetwarzaniem danych w czasie rzeczywistym.
- iOS – wersja 7.3.0 lub nowsza
- tvOS – wersja 8.9.0 lub nowsza
- Android – wersja 19.0.10 lub nowsza (albo Firebase Android BoM wersja 26.1.0 lub nowsza)
- Internet – wersja 7.14.0 lub nowsza
Zalecamy używanie najnowszej wersji pakietu SDK, ale każda z wersji wymienionych 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 jest równoważne jednemu urządzeniu mobilnemu, karcie przeglądarki lub aplikacji serwera połączonej z bazą danych. Firebase nakłada ścisłe limity na liczbę jednoczesnych połączeń z bazą danych aplikacji. Te limity mają chronić zarówno Firebase, jak i naszych użytkowników przed nadużyciami.
Limit planu Spark wynosi 100 i nie można go zwiększyć. W przypadku abonamentów Flame i Blaze obowiązuje limit 200 tys. jednoczesnych połączeń na bazę danych.
Ten limit nie jest taki sam jak łączna liczba użytkowników aplikacji, ponieważ nie wszyscy użytkownicy łączą się jednocześnie. Jeśli potrzebujesz więcej niż 200 000 jednoczesnych połączeń, przeczytaj artykuł Skalowanie za pomocą wielu baz danych.
Realtime Database: Jakie są ograniczenia skalowania Realtime Database?
Każda instancja Realtime Database ma limity liczby operacji zapisu na sekundę. W przypadku małych zapisów limit wynosi około 1000 operacji zapisu na sekundę. Jeśli zbliżasz się do tego limitu, grupowanie operacji za pomocą aktualizacji wielościeżkowych może pomóc Ci zwiększyć przepustowość.
Każda instancja bazy danych ma też limit 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 większej skali, możesz podzielić ją na kilka instancji bazy danych, aby zwiększyć skalę. Możesz też rozważyć Cloud Firestore jako alternatywną bazę danych.
Realtime Database: Co mogę zrobić, jeśli przekroczę limity wykorzystania Realtime Database?
Jeśli otrzymasz e-maila z alertem lub powiadomienie w FirebasekonsoliRealtime Database o przekroczeniu Realtime Databaselimitów wykorzystania, możesz rozwiązać ten problem w zależności od tego, który limit został przekroczony. Aby sprawdzić wykorzystanie Realtime Database, otwórz panel Realtime Database Wykorzystanie w konsoli Firebase.
Jeśli przekroczysz limit pobierania, możesz przejść na wyższy abonament Firebase lub poczekać, aż limit pobierania zostanie zresetowany na początku następnego okresu rozliczeniowego. Aby zmniejszyć liczbę pobrań, wykonaj te czynności:
- Dodaj zapytania, aby ograniczyć dane zwracane przez operacje nasłuchiwania.
- Sprawdź, czy nie ma zapytań, które nie zostały zaindeksowane.
- Używaj odbiorników, które pobierają tylko aktualizacje danych, np.
on()
zamiastonce()
. - Używaj reguł zabezpieczeń, aby blokować nieautoryzowane pobieranie.
Jeśli przekroczysz limit miejsca na dane, przejdź na wyższy abonament, aby uniknąć przerw w działaniu usługi. Aby zmniejszyć ilość danych w bazie danych, wykonaj te czynności:
- Uruchamiaj okresowe zadania czyszczenia.
- Zmniejsz liczbę zduplikowanych danych w bazie danych.
Pamiętaj, że zanim usunięte dane zostaną odzwierciedlone w przydzielonym Ci miejscu na dane, może minąć trochę czasu.
Jeśli przekroczysz limit równoczesnych 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 API REST, jeśli nie wymagają oni połączenia w czasie rzeczywistym.
Realtime Database: Co się stanie, jeśli przekroczę limity miejsca na dane lub pobierania w ramach subskrypcji Spark dla Realtime Database?
Aby zapewnić Ci przewidywalną cenę, zasoby dostępne w ramach abonamentów Spark podlegają ograniczeniom. Oznacza to, że jeśli w dowolnym miesiącu przekroczysz limit planu, aplikacja zostanie wyłączona, aby zapobiec dalszemu wykorzystaniu zasobów i naliczaniu dodatkowych opłat.
Realtime Database: Co się stanie, jeśli przekroczę limity jednoczesnych połączeń w ramach abonamentu Spark dla Realtime Database?
Gdy aplikacja osiągnie limit współbieżności w ramach subskrypcji Spark, wszystkie kolejne połączenia będą odrzucane, dopóki nie zostaną zamknięte niektóre z istniejących połączeń. Aplikacja będzie nadal działać na urządzeniach użytkowników, którzy są połączeni z internetem.
Realtime Database: Co to są automatyczne kopie zapasowe? Czy oferujecie godzinne kopie zapasowe dla Realtime Database?
Automatyczne kopie zapasowe to zaawansowana funkcja dla klientów korzystających z naszego planu cenowego Blaze, która raz dziennie tworzy kopię zapasową danych Firebase Realtime Database i przesyła ją do Google Cloud Storage.
Nie oferujemy kopii zapasowych co godzinę.
Realtime Database: Dlaczego w okresie od września 2016 r. do marca 2017 r. przepustowość mojego Realtime Database była niższa niż średnia?
W obliczeniach przepustowości zwykle uwzględniamy narzut związany z szyfrowaniem SSL (na podstawie warstwy 5 modelu OSI). We wrześniu 2016 r. wprowadziliśmy jednak błąd, który spowodował, że nasze raporty dotyczące przepustowości zaczęły ignorować narzut związany z szyfrowaniem. Może to spowodować, że przez kilka miesięcy na Twoim koncie będą widoczne sztucznie zaniżone wartości przepustowości i rachunki.
Pod koniec marca 2017 r. wprowadziliśmy poprawkę, która przywróciła raportowanie i rozliczanie przepustowości do normalnego poziomu.
Remote Config
Remote Config: Dlaczego pobrane wartości nie zmieniają działania ani wyglądu mojej aplikacji?
Jeśli nie pobierzesz wartości za pomocą funkcji fetchAndActivate()
, wartości będą przechowywane lokalnie, ale nie będą aktywowane. Aby aktywować pobrane wartości, tak aby zaczęły obowiązywać, wywołaj funkcję activate
. Taka konstrukcja pozwala Ci kontrolować, kiedy zmienia się działanie i wygląd aplikacji, ponieważ możesz wybrać, kiedy wywołać funkcję activate
. Po wywołaniu funkcji
activate
kod źródłowy aplikacji określa, kiedy mają być używane zaktualizowane wartości parametrów.
Możesz na przykład pobrać wartości, a następnie aktywować je przy następnym uruchomieniu aplikacji przez użytkownika. Dzięki temu nie trzeba opóźniać uruchamiania aplikacji, gdy czeka ona na pobrane z usługi wartości. Zmiany w zachowaniu i wyglądzie aplikacji nastąpią, gdy będzie ona używać zaktualizowanych wartości parametrów.
Więcej informacji o interfejsie Remote Config API i modelu jego użycia znajdziesz w artykule Omówienie interfejsu Remote Config API.
Remote Config: podczas tworzenia aplikacji wysyłam wiele żądań pobierania. Dlaczego aplikacja nie zawsze otrzymuje najnowszych wartości z usługi, gdy wysyła żądania pobierania?
Podczas tworzenia aplikacji możesz często (wiele razy na godzinę) pobierać i aktywować konfiguracje, aby szybko wprowadzać zmiany w aplikacji i ją testować. Aby umożliwić szybkie wprowadzanie zmian w projekcie, nad którym pracuje maksymalnie 10 deweloperów, możesz tymczasowo ustawić w aplikacji obiekt FirebaseRemoteConfigSettings
z krótkim minimalnym interwałem pobierania (setMinimumFetchIntervalInSeconds
).
Remote Config: Jak szybko usługa Remote Config zwraca pobrane wartości po wysłaniu przez moją aplikację żądania pobrania?
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 milisekundach, ale czas potrzebny na ich wykonanie 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 obowiązywać w aplikacji jak najszybciej, ale bez wywoływania u użytkowników negatywnych odczuć, rozważ dodanie wywołań funkcji fetchAndActivate
za każdym razem, gdy aplikacja odświeża się na pełnym ekranie.
Test Lab
Odwiedź Test Labstronę rozwiązywania problemów, gdzie znajdziesz przydatne wskazówki i odpowiedzi na najczęstsze pytania.
Pamięć segmentacji użytkowników Firebase
Co to jest pamięć segmentacji użytkowników Firebase?
Usługa Firebase User Segmentation Storage przechowuje Firebaseidentyfikatory instalacji oraz powiązane atrybuty i segmenty, a także utworzone przez Ciebie listy odbiorców, aby przekazywać informacje o kierowaniu do innych usług Firebase, które z nich korzystają, np. Crashlytics, FCM, Remote Config personalizacji i innych.