Informacje o Firebase na Androida

Podczas opracowywania projektu na Androida za pomocą Firebase możesz napotkać różne koncepcje, które są niezrozumiałe lub specyficzne dla tej platformy. Ta strona zawiera odpowiedzi na te pytania lub prowadzi do materiałów, z których możesz dowiedzieć się więcej.

Jeśli masz pytania na temat, który nie został omówiony na tej stronie, odwiedź jedną z naszych społeczności online. Co jakiś czas będziemy na niej publikować nowe tematy, więc zaglądaj tu regularnie, aby sprawdzić, czy nie pojawiły się tu nowe tematy, które Cię interesują.

Wtyczka Asystenta Firebase do Android Studio

Asystent Firebase to wtyczka do Androida Studio, która rejestruje aplikację na Androida w projekcie Firebase i dodaje do tego projektu niezbędne pliki konfiguracyjne, wtyczki oraz zależności Firebase – wszystko to bezpośrednio w Android Studio.

Aby korzystać z Asystenta Firebase, postępuj zgodnie z instrukcjami podanymi na stronie Pierwsze kroki z Androidem. Upewnij się, że używasz najnowszych wersji Androida Studio i Asystenta Firebase (kliknij Plik > Sprawdź dostępność aktualizacji).

Gdy wybierzesz konkretne usługi Firebase, które chcesz dodać do aplikacji, Asystent Firebase automatycznie zadeklaruje wymagane zależności w pliku app/build.gradle. Jeśli jednak chcesz używać funkcji Firebase, które wykraczają poza możliwości Asystenta Firebase, możesz ręcznie wprowadzić pewne zmiany w tych zależnościach:

  • Jeśli chcesz używać bonusa BoM Firebase na Androida, zaktualizuj zależności w pliku Gradle na poziomie modułu (aplikacji) (zwykle app/build.gradle), aby zaimportować platformę BoM. Musisz też usunąć wersje z każdego wiersza zależności biblioteki Firebase.

  • Jeśli chcesz użyć biblioteki rozszerzeń Kotlin, zmodyfikuj linię zależności dodaną do pliku Gradle na poziomie modułu (aplikacji) (zwykle app/build.gradle), aby zamiast niej używała wersji ktx biblioteki Firebase.

Usługi Google – wtyczka i plik konfiguracyjny

Przy dodawaniu Firebase do projektu na Androida musisz dodać do niego wtyczkę google-services i plik konfiguracji google-services.json.

Jeśli dodajesz Firebase do projektu na Androida za pomocą konsoli Firebase, interfejsu API typu REST Management lub interfejsu wiersza poleceń Firebase, musisz ręcznie dodać do projektu wtyczkę i plik konfiguracyjny. Jeśli jednak używasz Asystenta Firebase, te zadania są wykonywane automatycznie podczas konfiguracji.

Informacje o tym, jak wtyczka i plik konfiguracyjny usług Google współpracują ze sobą, znajdziesz w dokumentacji Androida.

BoM Firebase na Androida (zbiór materiałów)

BoM (zbiór materiałów) Firebase Android umożliwia zarządzanie wszystkimi wersjami biblioteki Firebase przez określenie tylko jednej – wersji BoM.

Gdy używasz Firebase BoM w aplikacji, BoM automatycznie pobiera poszczególne wersje biblioteki zmapowane na wersję BoM. Wszystkie wersje biblioteki będą zgodne. Po zaktualizowaniu wersji BoM w aplikacji wszystkie biblioteki Firebase, których używasz w aplikacji, zostaną zaktualizowane do wersji zmapowanych na tę wersję BoM.

Aby dowiedzieć się, które wersje biblioteki Firebase są zmapowane na konkretną wersję BoM, zapoznaj się z informacjami o wersji tej wersji BoM. Jeśli chcesz porównać wersje biblioteki zmapowane na jedną wersję BoM z inną wersją BoM, użyj widżetu porównania poniżej.

Dowiedz się więcej o obsłudze platform BoM przez Gradle.

Oto jak użyć BoM Firebase na Androida do deklarowania zależności w pliku Gradle na poziomie modułu (na poziomie aplikacji) (zwykle app/build.gradle). Gdy używasz BoM, nie określa się poszczególnych wersji biblioteki w wierszach zależności.

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:32.8.1')

  // Declare the dependencies for the desired Firebase products without specifying versions
  // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
  implementation 'com.google.firebase:firebase-auth'
  implementation 'com.google.firebase:firebase-firestore'
}

Oto odpowiedzi na najczęstsze pytania dotyczące korzystania z Android BoM Firebase:

Porównaj wersje BoM Firebase

Moduły biblioteki rozszerzeń Kotlin (KTX)

Moduły rozszerzeń Firebase Kotlin (KTX) to małe uzupełnienie głównych modułów biblioteki Firebase. Za ich pomocą możesz pisać piękny i idiomatyczny kod Kotlin.

Aby użyć modułu biblioteki KTX w aplikacji, zmień zależność, dodając do niej sufiks -ktx. Każdy moduł KTX automatycznie zależy od modułu biblioteki głównej, więc nie trzeba dodawać obu zależności do aplikacji.

dependencies {
  // Import the BoM for the Firebase platform (learn more)
  implementation platform('com.google.firebase:firebase-bom:32.8.1')

  // Declare the main module
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX module instead (which automatically has a dependency on the main module)
  implementation 'com.google.firebase:firebase-analytics-ktx'
}

Każdy moduł KTX zawiera różne rozszerzenia składniowe modułu głównego. Na przykład moduł KTX Analytics ułatwia rejestrowanie zdarzeń:

Przed (korzystając z modułu głównego)

val analytics = FirebaseAnalytics.getInstance();
val bundle = Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);

Po (zamiast tego modułu KTX)

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

Wszystkie usługi Firebase udostępniają moduł KTX oprócz systemów uczących się Firebase i indeksowania aplikacji.

Zapoznaj się z dokumentacją interfejsu API dotyczącą modułów KTX.

Moduły funkcji i Play Feature Delivery

Od maja 2021 r. (Firebase BoM w wersji 28.0.0) pakiety SDK Firebase na Androida mogą być używane w modułach funkcji dynamicznych instalowanych niezależnie od podstawowego modułu aplikacji.

Aby włączyć obsługę modułów funkcji dynamicznych, dodaj tę zależność do pliku build.gradle modułu base:

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}

Po dodaniu obsługi modułów dynamicznych możesz dodać zależności pakietu SDK Firebase (z Firebase BoM lub bez niego) do modułów funkcji aplikacji i używać ich w zwykły sposób.

Jeśli na przykład Twoja aplikacja używa Bazy danych czasu rzeczywistego do obsługi konkretnej funkcji czasu rzeczywistego, możesz dodać zależność firebase-database do build.gradle modułu funkcji, a nie do modułu podstawowego. Większości użytkowników zmniejsza to rozmiar pobierania.

Korzystając z pakietów SDK Firebase w modułach funkcji, pamiętaj o tych kwestiach:

  • Usługi takie jak Linki dynamiczne czy Wysyłanie wiadomości w aplikacji Firebase, które korzystają ze zdarzenia first_open Analytics, mogą nie uwzględniać tego zdarzenia w module funkcji dynamicznych.

  • Jeśli korzystasz jednocześnie z Cloud Firestore i uwierzytelniania, musisz je zawsze umieszczać w tym samym module. Jeśli to nie jest możliwe, sprawdź, czy uwierzytelnianie zostało wczytane przed Cloud Firestore. W przeciwnym razie niektóre operacje Cloud Firestore mogą mieć nieprawidłowy stan uwierzytelniania.

  • Jeśli używasz firebase-crashlytics-ndk jako modułu zależności dynamicznego modułu, musisz ustawić właściwość unstrippedNativeLibsDir w pliku build.gradle aplikacji zgodnie z opisem w dokumentacji NDK Crashlytics.

Więcej informacji o modułach funkcji i funkcji Play Feature Delivery znajdziesz w artykule Omówienie Play Feature Delivery.

Porównanie usług Google do Gradle a Usługi Google Play i Sklep Google Play

W kilku częściach ekosystemu Google, Firebase i Androida podobne są konwencje nazewnictwa. Oto krótkie wyjaśnienie każdej z tych funkcji:

Wtyczka usług Google do Gradle
Wtyczka Gradle (com.google.gms.google-services) uruchamiana w czasie kompilacji, która zapewnia, że aplikacja ma odpowiednią konfigurację, aby uzyskać dostęp do interfejsów API Firebase i Google
Pomimo swojej nazwy ta wtyczka nie ma związku z Usługami Google Play (patrz następny wpis) i nie ma wpływu na możliwości aplikacji w czasie działania.
Ta wtyczka przetwarza również plik google-services.json, który dodajesz do aplikacji w ramach konfigurowania Firebase. Dowiedz się więcej o wtyczce usług Google do Gradle.
Usługi Google Play
Niewidoczna usługa działająca w tle, która działa na urządzeniu z Androidem i udostępnia kilka popularnych interfejsów API Google (np. Mapy Google i Logowanie przez Google) do aplikacji zainstalowanych na urządzeniu.
Zbierając te typowe interfejsy API w jednej usłudze, zmniejsza się rozmiar innych aplikacji i umożliwia urządzeniu otrzymywanie automatycznych aktualizacji zabezpieczeń i ulepszeń funkcji bez konieczności aktualizowania systemu operacyjnego. Dowiedz się więcej o Usługach Google Play.
Sklep Google Play
Sklep, z którego można pobierać aplikacje, filmy, książki i inne treści na urządzenie z Androidem
Jako deweloper w Konsoli Google Play zarządzasz m.in. dystrybucją i wersjami aplikacji. Jeśli na urządzeniu jest Sklep Google Play, są na nim też uruchomione Usługi Google Play (patrz poprzedni wpis). Dowiedz się więcej o Sklepie Google Play dla deweloperów.
Google Play Games services
Zestaw interfejsów API dla deweloperów gier mobilnych
Dowiedz się więcej o usługach gier Google Play i o integracji Firebase z projektem usług gier Google Play.

Zasoby open source dla pakietów SDK Firebase na Androida

Firebase umożliwia programowanie na zasadach open source. Zachęcamy do dodawania treści i przekazywania opinii przez społeczność.

Pakiety SDK Firebase na Androida

Większość pakietów SDK Firebase na Androida została opracowana jako biblioteki open source w naszym publicznym repozytorium Firebase na GitHubie. Pracujemy nad przeniesieniem pozostałych bibliotek Firebase utworzonych prywatnie do naszego publicznego GitHuba.

Przykłady w ramach krótkiego wprowadzenia

Firebase przechowuje kolekcję przykładowych krótkich wprowadzenia dla większości interfejsów API Firebase na Androida. Znajdziesz je w naszym publicznym repozytorium Firebase GitHub krótkie wprowadzenie.

Każde krótkie wprowadzenie możesz otworzyć jako projekt w Android Studio, a potem uruchomić je na urządzeniu mobilnym lub urządzeniu wirtualnym (AVD). Możesz też użyć tych krótkich wprowadzeń jako przykładowego kodu do korzystania z pakietów SDK Firebase.

Inne interesujące tematy