1. Zanim zaczniesz
W tym laboratorium programowania dowiesz się, jak dodać możliwość interakcji z użytkownikami, niezależnie od tego, czy korzystają oni z Twojej aplikacji na pierwszym planie, czy Twoja aplikacja działa w tle.
Warunki wstępne
Nic
Czego się nauczysz
- Dodaj Firebase do swojej aplikacji na Androida
- Dodaj zależności FCM i FIAM
- Wyślij testową wiadomość FCM do swojej aplikacji
- Wyślij testową wiadomość FIAM do swojej aplikacji
Co będziesz potrzebował
- Studio Android 4.1
- Urządzenie z Androidem lub emulator
2. Rozpocznij
Pobierz przykładowy kod
Sklonuj repozytorium GitHub z wiersza poleceń:
Zaimportuj aplikację startową
W Android Studio wybierz 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 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 ćwiczeń z programowania:
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 wyświetlić kolejne kroki w konsoli (zostały one już wykonane w projekcie build-android-start).
Dodaj wtyczkę google-services 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 być już dodane do plików kompilacji na poziomie projektu i aplikacji. Potwierdź następujące wpisy:
build.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ź dodanie następujących 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 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 rejestracji, a FIAM używa identyfikatora instalacji.
- W
MainActivity.kt
zastąp TODO poniższym kodem, aby zarejestrować 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 swoje urządzenie z Androidem i kliknij Uruchom (
) na pasku narzędzi Android Studio. Kliknięcie przycisku Identyfikatory dziennika spowoduje zarejestrowanie tokena rejestracji FCM i identyfikatora instalacji Firebase w logcat. Wynik powinien wyglądać tak:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
FCM registration token: emMc5LART6GV7...r0Q
5. Wyślij testową wiadomość FCM
Komunikaty FCM można wysyłać zarówno z konsoli Firebase, jak i z interfejsu API REST FCM. W tym ćwiczeniu z kodowania utworzymy wiadomość z powiadomieniem 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 Cloud Messaging w lewym panelu nawigacyjnym
- Wybierz Wyślij swoją pierwszą wiadomość
- Dodaj tytuł i treść wiadomości, a następnie kliknij Wyślij testową wiadomość
- Dodaj token rejestracji FCM, a następnie kliknij test
- Obserwuj powiadomienia o wyświetlaczu na urządzeniu
- Dotknięcie powiadomienia otwiera aplikację
6. Wyślij testową wiadomość FIAM
Wysyłanie wiadomości w aplikacji Firebase może zostać wyzwolone w wyniku różnych zdarzeń użytkownika. Komunikat testowy używa zdarzenia otwarcia aplikacji do wyzwalania komunikatu w aplikacji. Wyślij testową wiadomość FIAM przez:
- Upewnij się, że aplikacja działa w tle (przejdź do ekranu głównego)
- Przejdź do konsoli Firebase i wybierz Wiadomości w aplikacji w lewym panelu nawigacyjnym
- Wybierz Utwórz swoją pierwszą kampanię
- Wybierz kampanię z górnym banerem i wprowadź tytuł oraz treść wiadomości
- Kliknij Testuj na urządzeniu
- Dodaj identyfikator instalacji i kliknij Test
- Otwórz ponownie aplikację
- Obserwuj w komunikacie aplikacji
7. Gratulacje
Gratulacje, pomyślnie wysłałeś zarówno wiadomości FCM, jak i FIAM. Teraz już wiesz, jak kontaktować się z użytkownikami, niezależnie od tego, czy korzystają z Twojej aplikacji na pierwszym planie, czy też działa w tle.
Dalsze czytanie
Co dalej
- Wysyłaj wiadomości do użytkowników we własnej aplikacji na Androida.