Aby zacząć korzystać z funkcji FCM, opracuj najprostszy przypadek użycia: wysyłanie testowe powiadomienie z Kreator powiadomień na urządzenie, którego używasz do programowania gdy aplikacja działa na urządzeniu w tle. Na tej stronie znajdziesz listę wszystkich czynności, które pozwolą Ci to osiągnąć – od konfiguracji po weryfikację. – mogą one obejmować kroki już wykonane, jeśli mają skonfigurowaną aplikację kliencką na Androida. za FCM.
Konfigurowanie pakietu SDK
Ta sekcja obejmuje zadania, które mogły zostać wykonane, jeśli zostały już włączone z innymi funkcjami Firebase w przypadku Twojej aplikacji.
Zanim zaczniesz
Instalowanie lub aktualizowanie Android Studio do najnowszej wersji.
Sprawdź, czy Twój projekt spełnia te wymagania (pamiętaj, że niektóre usługi mogą mieć bardziej rygorystyczne wymagania):
- Docelowy poziom interfejsu API: 19 (KitKat) lub więcej
- ma Androida 4.4 lub nowszego,
- Zastosowania
Jetpack (AndroidX),
w tym:
com.android.tools.build:gradle
w wersji 7.3.0 lub nowszejcompileSdkVersion
28 lub nowsze
Skonfiguruj urządzenie fizyczne lub użyj emulator na uruchom aplikację.
Pamiętaj, że pakiety SDK Firebase zależą od Google Play usługi wymagają urządzenia lub emulatorowi, by mieć zainstalowane Usługi Google Play.Zaloguj się w Firebase, korzystając ze swojego konta Google koncie.
Jeśli nie masz jeszcze projektu na Androida, a chcesz tylko wypróbować Firebase możesz pobrać nasze krótkie wprowadzenia.
Tworzenie projektu Firebase
Zanim dodasz Firebase do swojej aplikacji na Androida, musisz utworzyć taką aplikację do połączenia z aplikacją na Androida. Odwiedź Więcej informacji o projektach Firebase Projekty Firebase.
Zarejestruj aplikację w Firebase
Aby używać Firebase w swojej aplikacji na Androida, musisz ją zarejestrować w projekt Firebase. Rejestracja aplikacji często nazywa się „dodawaniem” aplikacji na w projektach AI.
Otwórz konsolę Firebase.
Na środku strony przeglądu projektu kliknij ikonę Androida. (
) lub Dodaj aplikację, aby rozpocząć proces konfiguracji.Wpisz nazwę pakietu aplikacji w polu Nazwa pakietu na Androida.
.(Opcjonalnie) Wpisz inne informacje o aplikacji: Nazwa aplikacji i Certyfikat podpisywania debugowania SHA-1.
Kliknij Zarejestruj aplikację.
Dodaj plik konfiguracji Firebase
Pobierz i dodaj plik konfiguracji Firebase na Androida (
) do Twojej aplikacji:google-services.json Kliknij Pobierz google-services.json, aby uzyskać Firebase na Androida. .
Przenieś plik konfiguracyjny do katalogu głównego module (poziom aplikacji) serwera do aplikacji.
Aby udostępnić wartości w pliku konfiguracyjnym
do pakietów SDK Firebase, Wtyczka Gradle usług Google (google-services.json google-services
).w pliku Gradle na poziomie głównym (na poziomie projektu); (
<project>/build.gradle.kts
lub<project>/build.gradle
), dodaj Wtyczka usług Google jako zależność:Kotlin
plugins { id("com.android.application") version "7.3.0" apply false // ... // Add the dependency for the Google services Gradle plugin id("com.google.gms.google-services") version "4.4.2" apply false }
Groovy
plugins { id 'com.android.application' version '7.3.0' apply false // ... // Add the dependency for the Google services Gradle plugin id 'com.google.gms.google-services' version '4.4.2' apply false }
w pliku Gradle modułu (na poziomie aplikacji); (zwykle
<project>/<app-module>/build.gradle.kts
lub<project>/<app-module>/build.gradle
), dodaj wtyczkę usług Google:Kotlin
plugins { id("com.android.application") // Add the Google services Gradle plugin id("com.google.gms.google-services") // ... }
Groovy
plugins { id 'com.android.application' // Add the Google services Gradle plugin id 'com.google.gms.google-services' // ... }
Dodaj pakiety SDK Firebase do swojej aplikacji
w pliku Gradle (na poziomie aplikacji) modułu, (zwykle
<project>/<app-module>/build.gradle.kts
lub<project>/<app-module>/build.gradle
), dodaj zależność z biblioteką Firebase Cloud Messaging na Androida. Zalecamy użycie metody Firebase Android BoM aby kontrolować obsługę wersji biblioteki.Aby zapewnić optymalne działanie usługi Firebase Cloud Messaging, zalecamy włączam Google Analytics w projekcie Firebase i dodając do aplikacji pakiet SDK Firebase dla Google Analytics.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.2.0")) // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-messaging") implementation("com.google.firebase:firebase-analytics") }
Korzystając z narzędzia Firebase Android BoM, Twoja aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
(Wersja alternatywna) Dodaj zależności biblioteki Firebase bez użycia komponentu BoM
Jeśli nie chcesz używać biblioteki Firebase BoM, musisz określić każdą wersję biblioteki Firebase w wierszu zależności.
Pamiętaj, że jeśli używasz wielu bibliotek Firebase w aplikacji, zalecamy korzystanie z BoM do zarządzania wersjami biblioteki. Dzięki temu wszystkie wersje są zgodne.
dependencies { // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-messaging:24.0.1") implementation("com.google.firebase:firebase-analytics:22.1.0") }
Zsynchronizuj swój projekt na Androida z plikami Gradle.
Dostęp do tokena rejestracji
Aby wysłać wiadomość na konkretne urządzenie, musisz znać token rejestracji. Należy go podać w polu w konsoli powiadomień, aby ukończyć ten samouczek; skopiuj token lub bezpiecznie przechowywać po pobraniu.
Przy pierwszym uruchomieniu aplikacji pakiet SDK FCM generuje rejestrację
dla instancji aplikacji klienckiej. Jeśli chcesz kierować reklamy na pojedyncze urządzenia
grup urządzeń, musisz uzyskać dostęp do tego tokena, rozszerzając
FirebaseMessagingService
z zastąpieniem onNewToken
.
W tej sekcji dowiesz się, jak pobrać token i jak monitorować zmiany. do tokena. Ponieważ token może zostać poddany rotacji po początkowej uruchamiania, zdecydowanie zalecamy pobranie najnowszej zaktualizowanej rejestracji token.
Token rejestracji może się zmienić, gdy:
- Aplikacja zostanie przywrócona na nowym urządzeniu
- Użytkownik odinstalowuje lub ponownie instaluje aplikację.
- Użytkownik czyści dane aplikacji.
Pobierz bieżący token rejestracji
Aby pobrać bieżący token, wywołaj
FirebaseMessaging.getInstance().getToken()
:
Kotlin+KTX
FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task -> if (!task.isSuccessful) { Log.w(TAG, "Fetching FCM registration token failed", task.exception) return@OnCompleteListener } // Get new FCM registration token val token = task.result // Log and toast val msg = getString(R.string.msg_token_fmt, token) Log.d(TAG, msg) Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show() })
Java
FirebaseMessaging.getInstance().getToken() .addOnCompleteListener(new OnCompleteListener<String>() { @Override public void onComplete(@NonNull Task<String> task) { if (!task.isSuccessful()) { Log.w(TAG, "Fetching FCM registration token failed", task.getException()); return; } // Get new FCM registration token String token = task.getResult(); // Log and toast String msg = getString(R.string.msg_token_fmt, token); Log.d(TAG, msg); Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show(); } });
Monitorowanie generowania tokenów
Wywołanie zwrotne onNewToken
jest uruchamiane po każdym wygenerowaniu nowego tokena.
Kotlin+KTX
/** * Called if the FCM registration token is updated. This may occur if the security of * the previous token had been compromised. Note that this is called when the * FCM registration token is initially generated so this is where you would retrieve the token. */ override fun onNewToken(token: String) { Log.d(TAG, "Refreshed token: $token") // If you want to send messages to this application instance or // manage this apps subscriptions on the server side, send the // FCM registration token to your app server. sendRegistrationToServer(token) }
Java
/** * There are two scenarios when onNewToken is called: * 1) When a new token is generated on initial app startup * 2) Whenever an existing token is changed * Under #2, there are three scenarios when the existing token is changed: * A) App is restored to a new device * B) User uninstalls/reinstalls the app * C) User clears app data */ @Override public void onNewToken(@NonNull String token) { Log.d(TAG, "Refreshed token: " + token); // If you want to send messages to this application instance or // manage this apps subscriptions on the server side, send the // FCM registration token to your app server. sendRegistrationToServer(token); }
Po uzyskaniu tokena możesz go wysłać na swój serwer aplikacji i w sklepie za pomocą preferowanej metody.
Wyślij powiadomienie testowe
Zainstaluj i uruchom aplikację na urządzeniu docelowym. Na urządzeniach Apple musisz mieć aby zaakceptować prośbę o zgodę na otrzymywanie zdalnych powiadomień.
Upewnij się, że aplikacja na urządzeniu działa w tle.
W konsoli Firebase otwórz stronę Wiadomości.
Jeśli to Twoja pierwsza wiadomość, wybierz Utwórz pierwszą
- Wybierz Powiadomienia Firebase i kliknij Utwórz.
Jeśli nie, na karcie Kampanie wybierz Nowa kampania. a potem Powiadomienia.
Wpisz tekst wiadomości. Wszystkie pozostałe pola są opcjonalne.
W panelu po prawej stronie wybierz Wyślij wiadomość testową.
W polu Dodaj token rejestracji FCM wpisz dane rejestracji. uzyskany w poprzedniej sekcji tego przewodnika.
Kliknij Przetestuj.
Po wybraniu opcji Przetestuj docelowe urządzenie klienckie (z aplikacją w tła) powinno otrzymać powiadomienie.
Więcej informacji o dostarczaniu wiadomości do aplikacji znajdziesz tutaj: FCM panelu raportowania, który rejestruje liczba wiadomości wysłanych i otwartych na urządzeniach Apple i z Androidem oraz dane dotyczące „wyświetleń” (powiadomienia użytkowników) dotyczące aplikacji na Androida.
Dalsze kroki
Wysyłaj wiadomości do aplikacji na pierwszym planie
Po pomyślnym wysłaniu powiadomień, gdy aplikacja jest uruchomiona w tle, zobacz Odbieranie wiadomości w aplikacji na Androida aby zacząć wysyłać wiadomości do aplikacji działających na pierwszym planie.
Więcej niż powiadomienia
Aby wyjść poza powiadomienia i dodać do zobacz: