Podczas opracowywania projektu na Androida przy użyciu Firebase możesz odkryć pojęcia, które są nieznane lub specyficzne dla Firebase. Ta strona ma na celu odpowiedzieć na te pytania lub wskazać zasoby, aby dowiedzieć się więcej.
Jeśli masz pytania dotyczące tematu nieomówionego na tej stronie, odwiedź jedną z naszych społeczności internetowych . Będziemy również okresowo aktualizować tę stronę o nowe tematy, więc sprawdź ponownie, czy nie dodaliśmy tematu, o którym chcesz się dowiedzieć!
Wtyczka Firebase Assistant dla Android Studio
Asystent Firebase to wtyczka Android Studio, która rejestruje Twoją aplikację na Androida w projekcie Firebase i dodaje niezbędne pliki konfiguracyjne, wtyczki i zależności Firebase do Twojego projektu na Androida — wszystko z poziomu Android Studio!
Postępuj zgodnie z instrukcjami na stronie z wprowadzeniem systemu Android, aby korzystać z Asystenta Firebase. Upewnij się, że korzystasz z najnowszych wersji Android Studio i Asystenta Firebase (przejdź do Plik > Sprawdź aktualizacje ).
Po wybraniu określonych produktów Firebase do dodania do aplikacji Asystent Firebase automatycznie deklaruje 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, warto ręcznie wprowadzić pewne zmiany w tych zależnościach:
Jeśli chcesz korzystać z Firebase Android BoM , zaktualizuj zależności w pliku Gradle modułu (na poziomie 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 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 projektu na Androida musisz dodać do projektu wtyczkę google- google-services
i plik konfiguracyjny
.
Jeśli dodasz Firebase do swojego projektu na Androida za pomocą konsoli Firebase , interfejsu Management REST API lub Firebase CLI , musisz ręcznie dodać wtyczkę i plik konfiguracyjny do swojego projektu. Jeśli jednak używasz Asystenta Firebase , te zadania są wykonywane automatycznie podczas konfiguracji.
Odwiedź dokumentację Androida, aby dowiedzieć się, jak współpracują ze sobą wtyczka usług Google i plik konfiguracyjny.
Firebase Android BoM (zestawienie materiałów)
Firebase Android BoM (Bill of Materials) umożliwia zarządzanie wszystkimi wersjami biblioteki Firebase przez określenie tylko jednej wersji — wersji BoM.
Gdy korzystasz z Firebase BoM w swojej aplikacji, BoM automatycznie pobiera poszczególne wersje bibliotek zmapowane na wersję BoM. Wszystkie wersje poszczególnych 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 zmapowanych na tę wersję BoM.
Aby dowiedzieć się, które wersje biblioteki Firebase są mapowane na konkretną wersję BoM, zapoznaj się z informacjami o wersji dla tej wersji BoM. Jeśli chcesz porównać wersje bibliotek mapowane na jedną wersję BoM z inną wersją BoM, użyj poniższego widżetu porównania .
Dowiedz się więcej o wsparciu Gradle dla platform BoM .
Poniżej opisano, jak używać Firebase Android BoM do deklarowania zależności w pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle
). Używając BoM, nie określasz poszczególnych wersji bibliotek w wierszach zależności.
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.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 zestawieniu komponentów:
Utrzymaj linię, aby zaimportować platformę BoM.
W wierszu zależności biblioteki określ żądaną wersję biblioteki. Na przykład poniżej opisano, jak zadeklarować zależności, jeśli chcesz używać wersji 18.0.0 indeksowania aplikacji bez względu na wersję wyznaczoną w zestawieniu produktów, ale chcesz używać wersji zestawienia materiałów do uwierzytelniania i Cloud Firestore:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.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 dodać biblioteki Firebase i używać ich w swojej aplikacji, musisz zadeklarować każdą bibliotekę jako osobną linię zależności w pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle
).
Korzystanie z BoM zapewnia zgodność wersji wszystkich bibliotek Firebase w Twojej aplikacji, ale BoM w rzeczywistości nie dodaje tych bibliotek Firebase do Twojej aplikacji.
Tak! Kiedy deklarujesz konkretne wiersze zależności biblioteki Firebase, po prostu użyj nazwy biblioteki KTX, na przykład:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.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. Firebase Android BoM zarządza tylko wersjami bibliotek Firebase. Jedynym wyjątkiem jest włączenie pakietu SDK do reklam mobilnych Google, ponieważ jest on tak powszechnie używany w aplikacjach Firebase.
Mimo że każda biblioteka Firebase jest wersjonowana niezależnie, są one tworzone razem, aby zapewnić zgodność najnowszej wersji każdej biblioteki z pozostałymi.
Używając BoM do zarządzania wersjami biblioteki Firebase swojej aplikacji, nie musisz śledzić, która wersja biblioteki Firebase jest zgodna 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 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 nieco inaczej zaimportować BoM.
Do pliku
settings.gradle
dodajenableFeaturePreview('IMPROVED_POM_SUPPORT')
.Do pliku Gradle modułu (na poziomie aplikacji) (zwykle
app/build.gradle
), zaimportuj BoM jak normalną bibliotekę (bez modyfikatoraplatform
), na przykład:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:30.1.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 na GitHub .
Porównaj wersje Firebase BoM
Biblioteki rozszerzeń Kotlin (KTX)
Biblioteki rozszerzeń Firebase Kotlin (KTX) są małymi towarzyszami podstawowych zestawów SDK Firebase, które pozwalają pisać piękny i idiomatyczny kod Kotlin.
Aby korzystać z biblioteki KTX w swojej aplikacji, zmień swoją zależność tak, aby zawierała sufiks -ktx
. Każda biblioteka KTX automatycznie ma zależność od biblioteki podstawowej, więc nie ma potrzeby uwzględniania obu zależności w aplikacji.
dependencies { // Import the BoM for the Firebase platform (learn more) implementation platform('com.google.firebase:firebase-bom:30.1.0')// Declare the base library implementation 'com.google.firebase:firebase-analytics'// Declare the KTX library instead (which automatically has a dependency on the base library) implementation 'com.google.firebase:firebase-analytics-ktx' }
Każda biblioteka KTX zapewnia różne rozszerzenia składniowe biblioteki podstawowej. Na przykład biblioteka Analytics KTX ułatwia rejestrowanie zdarzeń:
Przed (korzystanie z biblioteki podstawowej)
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 używamy biblioteki 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ą bibliotekę KTX z wyjątkiem Firebase ML i indeksowania aplikacji.
Jeśli jeszcze tego nie zrobiłeś, sprawdź dokumentację API dla bibliotek KTX.
Moduły funkcji i dostarczanie funkcji Play
Od maja 2021 r. (Firebase BoM 28.0.0) pakiety Firebase Android SDK mogą być używane w dynamicznych modułach funkcji, które są instalowane oddzielnie od podstawowego modułu aplikacji.
Aby włączyć obsługę dynamicznych modułów funkcji, 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-beta01'
}
Teraz, po dodaniu obsługi modułów dynamicznych, możesz dodać zależności pakietu Firebase SDK (z zestawem Firebase BoM lub bez niego), aby wyróżnić moduły swojej aplikacji i używać ich w normalny sposób.
Na przykład, jeśli aplikacja korzysta z bazy danych czasu rzeczywistego do obsługi określonej funkcji czasu rzeczywistego, można dodać zależność firebase-database
do build.gradle
modułu funkcji, a nie modułu podstawowego. Zmniejszy to rozmiar pobierania dla większości użytkowników.
Podczas korzystania z pakietów SDK Firebase w modułach funkcji pamiętaj o następujących zastrzeżeniach:
Produkty takie jak Dynamic Links lub Firebase Wysyłanie wiadomości w aplikacji, które opierają się na zdarzeniu
first_open
Analytics, mogą pominąć to zdarzenie, jeśli są używane w dynamicznym module funkcji.Używając jednocześnie Cloud Firestore i uwierzytelniania, należy je zawsze uwzględniać w tym samym module. Jeśli nie jest to możliwe, upewnij się, że uwierzytelnianie zostało załadowane 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 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 o modułach funkcji i dostarczaniu funkcji Play znajdziesz na stronie Omówienie dostarczania funkcji Play .
Usługi Google Wtyczka Gradle vs usługi Google Play vs Sklep Google Play
Kilka elementów ekosystemu Google, Firebase i Android ma podobne konwencje nazewnictwa. Oto krótkie wyjaśnienie dla każdego z nich:
- Wtyczka Gradle 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 wtyczka ta 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 wykonywania.
- 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 systemem Android i udostępnia kilka popularnych interfejsów API Google (takich jak Mapy Google i Logowanie Google) do aplikacji na urządzeniu
- Centralizując te wspólne interfejsy API w jednej usłudze, 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 do pobierania aplikacji, filmów, książek i innych materiałów na urządzenie z Androidem
- Jako programista zarządzasz dystrybucją, wydaniami itp. swojej aplikacji za pośrednictwem Konsoli Google Play. Jeśli na urządzeniu jest sklep Google Play, są na nim również uruchomione 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 dotyczące pakietów SDK Firebase na Androida
Firebase wspiera rozwój oprogramowania typu open source i zachęcamy do publikowania wkładów i opinii społeczności.
Pakiety SDK Firebase na Androida
Większość pakietów SDK Firebase na Androida jest opracowywanych jako biblioteki typu open source w naszym publicznym repozytorium Firebase na GitHub . Aktywnie pracujemy nad przeniesieniem pozostałych prywatnie opracowanych bibliotek Firebase do naszego publicznego serwisu GitHub!
Próbki szybkiego startu
Firebase przechowuje kolekcję przykładów szybkiego startu dla większości interfejsów API Firebase na Androida. Znajdź te przewodniki szybkiego startu w naszym publicznym repozytorium szybkiego startu Firebase na GitHub .
Każdy przewodnik Szybki start można otworzyć jako projekt Android Studio, a następnie uruchomić go 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 pakietów SDK Firebase.
Inne interesujące tematy
- Zależności pakietów Firebase Android SDK od usług Google Play
- Połącz aplikację Firebase z Google Play
- Zintegruj się z projektem usług Gier Play