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ć wersjiktx
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
.
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:
Oto jak zastąpić wersję biblioteki wyznaczoną w BoM:
Utrzymaj linię, aby zaimportować platformę BoM.
W wierszu zależności biblioteki określ żądaną wersję biblioteki. Na przykład, oto jak zadeklarować zależności, jeśli chcesz używać wersji 18.0.0 App Indexing bez względu na wersję wyznaczoną w BoM, ale chcesz używać wersji BoM do uwierzytelniania i Cloud Firestore:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.4.0') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Nie. Aby faktycznie dodawać i używać bibliotek Firebase w swojej aplikacji, musisz zadeklarować każdą bibliotekę jako oddzielną linię zależności w pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle
).
Korzystanie z BoM gwarantuje, że wersje dowolnych bibliotek Firebase w Twojej aplikacji są kompatybilne, ale BoM w rzeczywistości nie dodaje tych bibliotek Firebase do Twojej aplikacji.
Tak! Kiedy deklarujesz konkretne linie zależności biblioteki Firebase, po prostu użyj nazwy biblioteki KTX, w ten sposób:
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-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Nie. Zestaw Firebase Android BoM zarządza tylko wersjami bibliotek Firebase. Jedynym wyjątkiem jest włączenie pakietu SDK do reklam mobilnych Google, ponieważ jest on powszechnie używany w aplikacjach Firebase.
Mimo że każda biblioteka Firebase jest wersjonowana niezależnie, są one budowane razem, aby zapewnić kompatybilność najnowszej wersji każdej biblioteki z pozostałymi.
Korzystając z BoM do zarządzania wersjami biblioteki Firebase swojej aplikacji, nie musisz śledzić, która wersja biblioteki Firebase jest kompatybilna z inną biblioteką Firebase.
Nawet jeśli obecnie używasz tylko jednej biblioteki Firebase w swojej aplikacji, nadal zalecamy korzystanie z BoM, ponieważ nigdy nie wiesz, kiedy możesz chcieć użyć innej biblioteki Firebase!
Tak, nadal możesz korzystać z BoM! W przypadku wersji Gradle 5.0 i nowszych obsługa BoM jest włączana automatycznie. Jednak w przypadku wcześniejszych wersji Gradle wystarczy włączyć funkcję BoM i zaimportować BoM nieco inaczej.
Do pliku
settings.gradle
dodajenableFeaturePreview('IMPROVED_POM_SUPPORT')
.Do pliku Gradle modułu (na poziomie aplikacji) (zwykle
app/build.gradle
) zaimportuj BoM jak zwykłą bibliotekę (bez modyfikatoraplatform
), w następujący sposób:dependencies { // Import the Firebase BoM implementation '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' }
Odwiedź repozytorium Firebase Android SDK w serwisie GitHub .
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 plikubuild.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
- Zależności zestawów SDK Firebase dla systemu Android w usługach Google Play
- Połącz swoją aplikację Firebase z Google Play
- Zintegruj się z projektem usług gier Play