1. Zanim zaczniesz
Podczas tych ćwiczeń z programowania dowiesz się, jak dodać możliwość interakcji z użytkownikami, niezależnie od tego, czy korzystają z Twojej aplikacji na pierwszym planie, czy też działa ona w tle.
Warunki wstępne
Nic
Czego się dowiesz
- Dodaj Firebase do swojej aplikacji na Androida
- Dodaj zależności FCM i FIAM
- Wyślij wiadomość testową FCM do swojej aplikacji
- Wyślij wiadomość testową FIAM do swojej aplikacji
Co będziesz potrzebował
- Studio Androida 4.1
- Urządzenie z Androidem lub emulator
2. Zacznij
Pobierz przykładowy kod
Sklonuj repozytorium GitHub z wiersza poleceń:
Zaimportuj aplikację startową
W Android Studio wybierz katalog codelab-fcm-and-fiam
( ). Byłby to ten sklonowany w poprzednim kroku ( Plik > Otwórz > .../codelab-fcm-and-fiam).
Powinieneś teraz mieć otwarty projekt FcmAndFiam w Android Studio. Jeśli zobaczysz ostrzeżenie o braku pliku google-services.json, nie martw się. Zostanie dodany w następnym kroku.
3. Utwórz projekt konsoli Firebase
Dodaj Firebase do projektu
- Przejdź do konsoli Firebase .
- Wybierz opcję Dodaj projekt .
- Wybierz lub wprowadź nazwę projektu.
- Wykonaj pozostałe kroki konfiguracji w konsoli Firebase, a następnie kliknij Utwórz projekt (lub Dodaj Firebase, jeśli używasz istniejącego projektu Google).
- Na ekranie przeglądu nowego projektu kliknij ikonę Androida, aby uruchomić proces konfiguracji.
- Wpisz nazwę pakietu laboratorium programistycznego:
com.google.firebase.codelab.fcmandfiam
Dodaj plik google-services.json do swojej aplikacji
Po dodaniu nazwy pakietu kliknij Zarejestruj aplikację, a następnie Pobierz google-services.json, aby uzyskać plik konfiguracyjny Firebase Android, a następnie skopiuj plik google-services.json do katalogu app
w swoim projekcie. Po pobraniu pliku możesz kliknąć Pomiń, aby przejść do kolejnych kroków pokazanych w konsoli (zostały one już wykonane za Ciebie w projekcie build-Android-Start).
Dodaj wtyczkę usług Google do swojej aplikacji
Wtyczka google-services używa pliku google-services.json do skonfigurowania aplikacji do korzystania z Firebase. Zależność wtyczki Google-services i sama wtyczka powinny już zostać dodane odpowiednio do plików kompilacji na poziomie projektu i aplikacji. Potwierdź następujące wpisy:
kompilacja.gradle
buildscript {
...
dependencies {
...
classpath 'com.google.gms:google-services:4.3.8'
}
}
app/build.gradle
plugins {
...
id: 'com.google.gms.google-services'
}
Dodaj zależności
FCM i FIAM wymagają następujących zależności. Te zależności powinny już zostać dodane do pliku kompilacji na poziomie aplikacji. Potwierdź, że dodano następujące zależności:
app/build.gradle
dependencies {
...
implementation platform('com.google.firebase:firebase-bom:28.4.2')
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-inappmessaging-display'
}
Zsynchronizuj swój projekt z plikami gradle
Aby mieć pewność, że wszystkie zależności są dostępne dla Twojej aplikacji, powinieneś w tym momencie zsynchronizować swój projekt z plikami gradle. Wybierz opcję Plik > Synchronizuj projekt z plikami Gradle z paska narzędzi Android Studio.
4. Identyfikatory dziennika
Firebase Cloud Messaging i Firebase In App Messaging używają identyfikatorów do wysyłania wiadomości do aplikacji. FCM używa tokena rejestracyjnego, a FIAM używa identyfikatora instalacji.
- W
MainActivity.kt
zastąp TODO poniższym kodem, aby zalogować identyfikatory potrzebne do wysyłania wiadomości:
FirebaseMessaging.getInstance().token.addOnCompleteListener { regTokenTask ->
if (regTokenTask.isSuccessful) {
Log.d(TAG, "FCM registration token: ${regTokenTask.result}")
} else {
Log.e(TAG, "Unable to retrieve registration token",
regTokenTask.exception)
}
}
FirebaseInstallations.getInstance().id.addOnCompleteListener { installationIdTask ->
if (installationIdTask.isSuccessful) {
Log.d(TAG, "Firebase Installations ID: ${installationIdTask.result}")
} else {
Log.e(TAG, "Unable to retrieve installations ID",
installationIdTask.exception)
}
}
- Podłącz urządzenie z Androidem i kliknij Uruchom ( ) na pasku narzędzi Android Studio. Kliknięcie przycisku Identyfikatory dziennika spowoduje zarejestrowanie tokenu rejestracyjnego FCM i identyfikatora instalacji Firebase w logcat. Dane wyjściowe powinny wyglądać następująco:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
FCM registration token: emMc5LART6GV7...r0Q
5. Wyślij wiadomość testową FCM
Komunikaty FCM można wysyłać zarówno z konsoli Firebase, jak i z interfejsu API REST FCM. Podczas tych zajęć z programowania utworzymy wiadomość powiadamiającą FCM i wyślemy ją na nasze urządzenie. Komunikaty powiadomień to te, które są wyświetlane w obszarze powiadomień systemu. Wyślij testową wiadomość FCM przez:
- Upewnij się, że aplikacja działa w tle (przejdź do ekranu głównego)
- Przejdź do konsoli Firebase i wybierz opcję Wiadomości w chmurze w lewym panelu nawigacyjnym
- Wybierz opcję Wyślij pierwszą wiadomość
- Dodaj tytuł i treść wiadomości, a następnie kliknij opcję Wyślij wiadomość testową
- Dodaj token rejestracji FCM, a następnie kliknij test
- Obserwuj powiadomienie wyświetlane na urządzeniu
- Kliknięcie powiadomienia powoduje otwarcie aplikacji
6. Wyślij wiadomość testową FIAM
Wiadomości Firebase w aplikacji mogą być wyzwalane w wyniku różnych zdarzeń użytkownika. Wiadomość testowa wykorzystuje zdarzenie otwarcia aplikacji do wyzwolenia wiadomości w aplikacji. Wyślij testową wiadomość FIAM poprzez:
- Upewnij się, że aplikacja działa w tle (przejdź do ekranu głównego)
- Przejdź do konsoli Firebase i wybierz opcję Wiadomości w aplikacji w lewym panelu nawigacyjnym
- Wybierz opcję Utwórz pierwszą kampanię
- Wybierz najlepszą kampanię banerową i wpisz tytuł oraz treść wiadomości
- Kliknij opcję Testuj na urządzeniu
- Dodaj identyfikator instalacji i kliknij Testuj
- Otwórz ponownie aplikację
- Obserwuj w komunikacie aplikacji
7. Gratulacje
Gratulacje, pomyślnie wysłałeś wiadomości FCM i FIAM. Teraz wiesz, jak nawiązać kontakt z użytkownikami, niezależnie od tego, czy korzystają z Twojej aplikacji na pierwszym planie, czy też w tle.
Dalsza lektura
Co dalej
- Wysyłaj wiadomości do użytkowników we własnej aplikacji na Androida.