Informacje o Firebase na Androida

Gdy pracujesz nad projektem na Androida za pomocą Firebase, możesz zauważyć, nieznanych jeszcze koncepcjom Firebase. Na tej stronie znajdziesz odpowiedzi lub wskazać materiały, z których można dowiedzieć się więcej.

Jeśli masz pytania dotyczące tematu, który nie został omówiony na tej stronie, odwiedź jednej z naszych społeczności online. Dodatkowo okresowo aktualizuj tę stronę o nowe tematy, dlatego odwiedzaj ją regularnie, dodał(a) temat, o którym chcesz dowiedzieć się więcej.

Wtyczka Firebase Assistant dla Android Studio

Asystent Firebase to wtyczka Android Studio, która rejestruje z projektem Firebase i dodaje niezbędne pliki konfiguracyjne Firebase, i wtyczki oraz zależności w projekcie Androida – a wszystko to z poziomu tego systemu. Studio.

Postępuj zgodnie z instrukcjami w stronie Pierwsze kroki z Androidem, aby skorzystać z Asystenta Firebase. Upewnij się, że używasz najnowszych wersji Android Studio i Asystent Firebase (kliknij Plik > Sprawdź dostępność aktualizacji).

Gdy wybierzesz konkretne usługi Firebase, które chcesz dodać do aplikacji, usługa Firebase Asystent automatycznie deklaruje wymagane zależności w Twojej app/build.gradle. Aby jednak używać funkcji Firebase, które są wykraczające poza dostępne do obecnych możliwości Asystenta Firebase, rozważ ręczne zmiany tych zależności:

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

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

Usługi Google – wtyczka i plik konfiguracyjny

Aby dodać Firebase do swojego projektu na Androida, musisz dodać do wtyczki google-services i pliku konfiguracji google-services.json do do swojego projektu.

Jeśli dodasz Firebase do swojego projektu na Androida za pomocą w konsoli Firebase, interfejs API typu REST do zarządzania lub interfejs wiersza poleceń Firebase, musisz ręcznie dodać wtyczkę i plik konfiguracyjny do swojego projektu. Jeśli jednak używasz Asystenta Firebase, te zadania są przeznaczone automatycznie wykonane za Ciebie podczas konfiguracji.

Odwiedź Dokumentacja Androida znajdziesz więcej informacji o współdziałaniu wtyczki usług Google i pliku konfiguracyjnego.

Firebase Android BoM (lista materiałów)

Firebase Android BoM (Bill of Materials – lista materiałów) umożliwia zarządzanie wersji biblioteki Firebase, określając tylko jedną wersję – wersji.

Gdy używasz w aplikacji BoM Firebase, automatycznie pobiera on: w poszczególnych wersjach biblioteki zmapowanych na wersję BoM. Wszystkie będą zgodne z poszczególnymi wersjami bibliotek. Po zaktualizowaniu BoM wszystkie biblioteki Firebase, których używasz w aplikacji, do wersji zmapowanej na tę wersję BoM.

Informacje o tym, które wersje biblioteki Firebase są zmapowane na konkretną wartość BoM zapoznaj się z informacjami o wersji Wersja BoM. Jeśli chcesz porównać wersje biblioteki zmapowane na jedną w porównaniu z inną wersją BoM, użyj widżet porównawczy poniżej.

Dowiedz się więcej o obsłudze Gradle na platformach BoM.

Oto jak za pomocą Firebase Android BoM zadeklarować zależności w plik Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle). Jeśli korzystasz z metody nie musisz określać poszczególnych wersji biblioteki w wierszach zależności.

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

  // 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 najczęstszych pytań dotyczących korzystania z Firebase Android BoM:

Porównaj wersje Firebase BoM

Moduły biblioteki rozszerzeń Kotlin (KTX)

Moduły biblioteki rozszerzeń Firebase Kotlin (KTX) stanowią niewielkie dodatki głównych modułów biblioteki Firebase. Można ich używać do tworzenia idiomatyczny kod Kotlina.

Aby użyć modułu biblioteki KTX w aplikacji, zmień zależność, aby uwzględnić Sufiks: -ktx. Każdy moduł KTX automatycznie jest powiązany z głównym modułem biblioteki, 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:33.1.2')

  // 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 inne składniowe rozszerzenia modułu głównego. Na przykład moduł Analytics KTX ułatwia rejestrowanie zdarzeń:

Przed (w module głównym)

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)

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 oferują Moduł KTX, z wyjątkiem Firebase ML i indeksowanie aplikacji.

Jeśli jeszcze nie znasz, przeczytaj Dokumentacja API dla 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, które są instalowane niezależnie od modułu 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ć pakiet SDK Firebase zależności (z użyciem Firebase BoM lub bez) modułu funkcji w aplikacji i używać ich tak jak zwykle.

Jeśli na przykład Twoja aplikacja korzysta z Bazy danych czasu rzeczywistego do obsługi określonej możesz dodać zależność firebase-database do funkcji build.gradle modułu funkcji, a nie modułu podstawowego. Zmniejszy to liczbę pobrań rozmiar wyświetlany przez większość użytkowników.

Podczas korzystania z pakietów SDK Firebase w modułach funkcji pamiętaj o tych kwestiach:

  • Usługi takie jak Linki dynamiczne lub wysyłanie wiadomości w aplikacji Firebase, które korzystają z Analytics Zdarzenie first_open może pominąć to zdarzenie, jeśli jest używane w module funkcji dynamicznych.

  • Jeśli używasz jednocześnie Cloud Firestore i uwierzytelniania, zawsze trzeba je uwzględnić w jednym module. Jeśli nie jest to możliwe, upewnij się, że jest wczytywany przed Cloud Firestore; w przeciwnym razie niektóre operacje w Cloud Firestore mogą mają nieprawidłowy stan uwierzytelniania.

  • Gdy używasz funkcji firebase-crashlytics-ndk jako zależności funkcji dynamicznej musisz ustawić właściwość unstrippedNativeLibsDir w tagu build.gradle zgodnie z opisem w Dokumentacja Crashytics NDK.

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

Porównanie wtyczki do obsługi Gradle usług Google a Usługi Google Play i Sklepu Google Play

Kilka elementów ekosystemu Google, Firebase i Androida ma podobne konwencji nazewnictwa. Poniżej przedstawiamy krótkie wyjaśnienie każdej z nich:

Wtyczka do Gradle usług Google
wtyczka do Gradle (com.google.gms.google-services), która działa w czasie kompilacji, sprawdź, czy Twoja aplikacja ma właściwy dostęp do Firebase i Google, Interfejsy API
Pomimo swojej nazwy ta wtyczka nie ma związku z Usługami Google Play (patrz następnego kroku) i nie ma wpływu na funkcje aplikacji w czasie działania.
.
Ta wtyczka przetwarza też plik google-services.json dodany do Twoją aplikację podczas konfiguracji Firebase. Dowiedz się więcej o Wtyczka Gradle usług Google
Usługi Google Play
Niewidoczna usługa w tle, która działa na urządzeniu z Androidem i oferuje kilku popularnych interfejsów API Google (takich jak Mapy Google i Logowanie przez Google) w aplikacjach urządzenie
Scentralizowanie tych wspólnych interfejsów API w 1 usłudze zmniejsza rozmiar innych aplikacji i pozwala urządzeniu otrzymywać automatyczne aktualizacje zabezpieczeń ulepszeń funkcji bez aktualizacji systemu operacyjnego. Więcej informacji o Usługi Google Play.
Sklep Google Play
Sklep, w którym można pobierać aplikacje, filmy, książki i inne treści na urządzenie z Androidem
Jako deweloper zarządzasz rozpowszechnianiem, wersjami itd. aplikacji przez w Konsoli Google Play. Jeśli na urządzeniu jest Sklep Google Play, uruchomionych Usług Google Play (patrz poprzedni wpis). Dowiedz się więcej o Sklep Google Play dla deweloperów.
Google Play Games services
Zestaw interfejsów API dla deweloperów gier mobilnych
Więcej informacji: Usługi Gier Google Play i dowiedz się, zintegrować Firebase z projektem w usługach gier Google Play.

Zasoby open source dotyczące pakietów SDK Firebase na Androida

Firebase wspiera programowanie open source swoje treści i opinie.

Pakiety SDK Firebase na Androida

Większość pakietów SDK Firebase na Androida jest opracowywanych jako biblioteki open source dostępne publicznie repozytorium Firebase na GitHubie. Pracujemy nad przeniesieniem pozostałej, prywatnej wersji Firebase do naszego publicznego serwisu GitHub.

Krótkie wprowadzenie – przykłady

Firebase przechowuje zbiór przykładowych krótkich startów dla większości interfejsów API Firebase na urządzeniu z Androidem. Te krótkie wprowadzenia są dostępne publicznie Repozytorium krótkiego wprowadzenia Firebase na GitHubie.

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

Inne interesujące tematy