Dowiedz się więcej o Androidzie i Firebase

Podczas opracowywania projektu na Androida przy użyciu Firebase możesz odkryć koncepcje, które są nieznane lub specyficzne dla Firebase. Celem tej strony jest udzielenie odpowiedzi na te pytania lub wskazanie zasobów, w których można dowiedzieć się więcej.

Jeśli masz pytania dotyczące tematu, który nie został poruszony na tej stronie, odwiedź jedną z naszych społeczności internetowych . Będziemy również okresowo aktualizować tę stronę o nowe tematy, więc sprawdzaj ponownie, czy dodaliśmy temat, o którym chcesz się dowiedzieć!

Wtyczka Firebase Assistant dla Android Studio

Firebase Assistant to wtyczka do Android Studio, która rejestruje Twoją aplikację na Androida w projekcie Firebase i dodaje niezbędne pliki konfiguracyjne Firebase, wtyczki i zależności do Twojego projektu na Androida — wszystko z poziomu Android Studio!

Postępuj zgodnie z instrukcjami na stronie wprowadzającej dla Androida, aby korzystać z Asystenta Firebase. Upewnij się, że używasz najbardziej aktualnych wersji Androida Studio i Firebase Assistant (przejdź do Plik > Sprawdź aktualizacje ).

Gdy wybierzesz określone produkty Firebase, które chcesz dodać do swojej aplikacji, Asystent Firebase automatycznie zadeklaruje wymagane zależności w pliku app/build.gradle . Aby jednak korzystać z funkcji Firebase, które wykraczają poza obecne możliwości Asystenta Firebase, możesz chcieć wprowadzić ręczne zmiany w tych zależnościach:

  • Jeśli chcesz używać Firebase Android BoM , zaktualizuj zależności w pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle ), aby zaimportować platformę BoM. Będziesz także musiał usunąć wersje z każdej linii zależności biblioteki Firebase.

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

Usługi Google — wtyczka i plik konfiguracyjny

W ramach dodawania Firebase do swojego projektu na Androida musisz dodać do swojego projektu wtyczkę google-services i plik konfiguracyjny google-services.json .

Jeśli dodasz Firebase do swojego projektu na Androida za pośrednictwem konsoli Firebase , interfejsu API REST zarządzania lub interfejsu CLI Firebase , musisz ręcznie dodać wtyczkę i plik konfiguracyjny do swojego projektu. Jeśli jednak korzystasz z Asystenta Firebase , zadania te są wykonywane automatycznie podczas konfiguracji.

Odwiedź dokumentację Androida, aby dowiedzieć się, jak wtyczka usług Google współpracuje z plikiem konfiguracyjnym.

Firebase Android BoM (zestawienie materiałów)

Zestawienie materiałów Firebase Android umożliwia zarządzanie wszystkimi wersjami biblioteki Firebase poprzez określenie tylko jednej wersji — wersji BoM.

Kiedy używasz Firebase BoM w swojej aplikacji, BoM automatycznie pobiera poszczególne wersje bibliotek mapowane na wersję BoM. Wszystkie poszczególne wersje bibliotek będą kompatybilne. Gdy zaktualizujesz wersję BoM w swojej aplikacji, wszystkie biblioteki Firebase, których używasz w swojej aplikacji, zostaną zaktualizowane do wersji odwzorowanych na tę wersję BoM.

Aby dowiedzieć się, które wersje bibliotek Firebase są mapowane na konkretną wersję BoM, zapoznaj się z informacjami o wydaniu tej wersji BoM. Jeśli chcesz porównać wersje bibliotek odwzorowane na jedną wersję BoM z inną wersją BoM, użyj poniższego widżetu porównawczego .

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

Oto jak używać Firebase Android BoM do deklarowania zależności w pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle ). Podczas korzystania z BoM nie określa się poszczególnych wersji bibliotek w wierszach zależności.

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

  // 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 kilka często zadawanych pytań dotyczących korzystania z Firebase Android BoM:

Porównaj wersje Firebase BoM

Moduły biblioteczne rozszerzeń Kotlin (KTX).

Moduły biblioteczne rozszerzeń Firebase Kotlin (KTX) są małymi towarzyszami głównych modułów bibliotecznych Firebase i można ich używać do pisania pięknego i idiomatycznego kodu Kotlin.

Aby użyć modułu biblioteki KTX w swojej aplikacji, zmień zależność, tak aby zawierała przyrostek -ktx . Każdy moduł KTX automatycznie ma zależność od głównego modułu biblioteki, więc nie ma potrzeby dołączania obu zależności do swojej aplikacji.

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

  // 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 zapewnia różne rozszerzenia syntaktyczne modułu głównego. Przykładowo moduł Analytics KTX ułatwia rejestrowanie zdarzeń:

Przed (przy użyciu 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 przy użyciu 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 produkty Firebase oferują moduł KTX z wyjątkiem Firebase ML i App Indexing.

Jeśli jeszcze tego nie zrobiłeś, zapoznaj się z dokumentacją referencyjną API dla modułów KTX.

Moduły funkcyjne i dostarczanie funkcji Play

Od maja 2021 r. (Firebase BoM v28.0.0) pakietów SDK Firebase dla systemu Android można używać w dynamicznych modułach funkcji, które są instalowane oddzielnie od podstawowego modułu aplikacji.

Aby włączyć obsługę dynamicznych modułów funkcyjnych, dodaj następującą zależność do pliku build.gradle modułu podstawowego :

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 Firebase SDK (z modułem Firebase BoM lub bez niego) do modułów funkcjonalnych swojej aplikacji i używać ich w zwykły sposób.

Na przykład, jeśli Twoja aplikacja korzysta z bazy danych czasu rzeczywistego do zasilania określonej funkcji czasu rzeczywistego, możesz dodać zależność firebase-database do pliku build.gradle modułu funkcji zamiast modułu podstawowego. W przypadku większości użytkowników zmniejszy to rozmiar pobierania.

Korzystając z pakietów SDK Firebase w modułach funkcji, należy pamiętać o następujących zastrzeżeniach:

  • Produkty takie jak Linki dynamiczne lub Wiadomości w aplikacji Firebase, które opierają się na zdarzeniu Analytics first_open , mogą nie uwzględniać tego zdarzenia, jeśli są używane w module funkcji dynamicznych.

  • Korzystając razem z Cloud Firestore i uwierzytelnianiem, należy zawsze uwzględnić je oba w tym samym module. Jeśli nie jest to możliwe, upewnij się, że uwierzytelnienie zostało załadowane przed Cloud Firestore; w przeciwnym razie niektóre operacje Cloud Firestore mogą mieć nieprawidłowy stan uwierzytelnienia.

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

Więcej informacji na temat modułów funkcji i dostarczania funkcji Play znajdziesz w artykule Omówienie dostarczania funkcji Play .

Usługi Google Wtyczka Gradle vs Usługi Google Play vs Sklep Google Play

Kilka elementów ekosystemów Google, Firebase i Android ma podobne konwencje nazewnictwa. Oto krótkie wyjaśnienie każdego z nich:

Wtyczka Gradle do usług Google
Wtyczka Gradle ( com.google.gms.google-services ), która działa w czasie kompilacji, aby zapewnić, że Twoja aplikacja ma odpowiednią konfigurację umożliwiającą 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 Twojej aplikacji w czasie jej działania.
Ta wtyczka przetwarza również plik google-services.json , który dodajesz do swojej aplikacji w ramach konfigurowania Firebase. Dowiedz się więcej o wtyczce Gradle usług Google .
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 (takich jak Mapy Google i Google Sign In) dla aplikacji na urządzeniu
Centralizowanie tych wspólnych interfejsów API w jedną usługę zmniejsza rozmiar innych aplikacji i umożliwia urządzeniu otrzymywanie automatycznych aktualizacji zabezpieczeń i ulepszeń funkcji bez aktualizacji systemu operacyjnego. Dowiedz się więcej o usługach Google Play .
Sklep Google Play
Sklep, w którym można pobierać aplikacje, filmy, książki i nie tylko na urządzenie z systemem Android
Jako programista zarządzasz dystrybucją, wydaniami itp. swojej aplikacji za pośrednictwem Konsoli Google Play. Jeśli na urządzeniu znajduje się Sklep Google Play, działają na nim także usługi Google Play (patrz poprzedni wpis). Dowiedz się więcej o Sklepie Google Play dla programistów .
Usługi gier Google Play
Zestaw API dla twórców gier mobilnych
Dowiedz się więcej o usługach gier Google Play i o tym, jak zintegrować Firebase z projektem usług gier Google Play .

Zasoby typu open source dla zestawów SDK Firebase dla systemu Android

Firebase wspiera rozwój oprogramowania typu open source i zachęcamy społeczność do wnoszenia wkładu i przesyłania opinii.

Zestawy SDK Firebase dla Androida

Większość zestawów SDK Firebase dla systemu Android jest opracowywana jako biblioteki typu open source w naszym publicznym repozytorium Firebase GitHub . Aktywnie pracujemy nad tym, aby wkrótce przenieść pozostałe prywatnie opracowane biblioteki Firebase do naszego publicznego GitHuba!

Próbki szybkiego startu

Firebase utrzymuje zbiór przykładów szybkiego startu dla większości interfejsów API Firebase na Androidzie. Znajdź te przewodniki Szybki start w naszym publicznym repozytorium szybkiego startu Firebase GitHub .

Każdy przewodnik Szybki start możesz otworzyć jako projekt Android Studio, a następnie uruchomić je na urządzeniu mobilnym lub urządzeniu wirtualnym (AVD). Możesz też użyć tych przewodników Szybki start jako przykładowego kodu do korzystania z zestawów SDK Firebase.

Inne interesujące tematy