1. Zanim zaczniesz
Z tego ćwiczenia w Codelabs dowiesz się, jak dodać możliwość angażowania użytkowników, niezależnie od tego, czy korzystają oni z Twojej aplikacji na pierwszym planie czy w tle.
Wymagania wstępne
Brak
Czego się nauczysz
- Dodaj Firebase do swojej aplikacji na Androida
- Dodaj zależności FCM i FIAM
- Wyślij testową wiadomość w FCM do swojej aplikacji
- Wyślij wiadomość testową FIAM do swojej aplikacji
Czego potrzebujesz
- Android Studio 4.1
- urządzenie z Androidem lub emulator,
2. Rozpocznij
Pobieranie przykładowego kodu
Sklonuj repozytorium GitHub, używając wiersza poleceń:
Importowanie aplikacji startowej
W Android Studio wybierz katalog codelab-fcm-and-fiam
( ). Będzie to kopia skopiowana w poprzednim kroku (Plik > Otwórz > .../codelab-fcm-and-fiam).
Projekt FcmAndFiam powinien być teraz otwarty w Android Studio. Jeśli zobaczysz ostrzeżenie o braku pliku google-services.json, nie martw się. Zostanie ona dodana w następnym kroku.
3. Utwórz projekt konsoli Firebase
Dodaj Firebase do projektu
- Otwórz konsolę Firebase.
- Wybierz Dodaj projekt.
- Wybierz lub wpisz nazwę projektu.
- Wykonaj pozostałe czynności konfiguracyjne w konsoli Firebase, a potem 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 rozpocząć proces konfiguracji.
- Wpisz nazwę pakietu ćwiczeń z programowania:
com.google.firebase.codelab.fcmandfiam
Dodawanie pliku google-services.json do aplikacji
Po dodaniu nazwy pakietu kliknij Zarejestruj aplikację, a następnie Pobierz plik google-services.json, aby uzyskać plik konfiguracyjny Firebase na Androida, a następnie skopiuj plik google-services.json do katalogu app
w swoim projekcie. Gdy plik zostanie pobrany, możesz kliknąć Pomiń, aby przejść do kolejnych kroków wyświetlanych w konsoli (w projekcie build-android-start zostały już one wykonane).
Dodawanie wtyczki google-services do aplikacji
Wtyczka google-services wykorzystuje plik google-services.json do skonfigurowania aplikacji pod kątem użycia 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ą tych zależności. Te zależności należy już dodać do pliku kompilacji na poziomie aplikacji. Sprawdź, czy te zależności zostały dodane:
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'
}
Synchronizowanie projektu z plikami Gradle
Aby mieć pewność, że w przypadku aplikacji dostępne są wszystkie zależności, zsynchronizuj projekt z plikami Gradle. Wybierz Plik > Synchronizowanie projektu z plikami Gradle na pasku narzędzi Android Studio.
4. Identyfikatory logów
Komunikacja w chmurze Firebase i Firebase w aplikacji używają identyfikatorów do wysyłania wiadomości do aplikacji. FCM używa tokena rejestracji, a FIAM – identyfikatora instalacji.
- W
MainActivity.kt
zastąp zadanie do wykonania 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 urządzenie z Androidem i kliknij Uruchom ( ) na pasku narzędzi Android Studio. Kliknięcie przycisku Identyfikatory logów spowoduje zapisanie w logcat tokena rejestracji FCM i identyfikatora instalacji Firebase. Dane wyjściowe powinny wyglądać tak:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
FCM registration token: emMc5LART6GV7...r0Q
5. Wyślij testową wiadomość w FCM
Wiadomości FCM można wysyłać zarówno z konsoli Firebase, jak i przez interfejs API typu REST FCM. W ramach tych ćwiczeń w Codelabs utworzymy wiadomość z powiadomieniem FCM i wyślemy ją na nasze urządzenie. Wiadomości z powiadomieniami są wyświetlane w obszarze powiadomień systemu. Wyślij testową wiadomość w FCM przez:
- Sprawdź, czy aplikacja działa w tle (przejdź na ekran główny)
- Otwórz konsolę Firebase i w panelu nawigacyjnym po lewej stronie wybierz Komunikacja w chmurze.
- Wybierz Wyślij pierwszą wiadomość.
- Dodaj tytuł i treść wiadomości, a następnie kliknij Wyślij wiadomość testową.
- Dodaj token rejestracji FCM, a następnie kliknij test.
- Obserwuj powiadomienie na ekranie urządzenia
- Dotknięcie powiadomienia otwiera aplikację
6. Wyślij testową wiadomość FIAM
Funkcja Firebase Wysyłanie wiadomości w aplikacji może być aktywowana w wyniku różnych zdarzeń użytkownika. Wiadomość testowa aktywuje wiadomość w aplikacji za pomocą zdarzenia otwarcia aplikacji. Wyślij testową wiadomość FIAM przez:
- Sprawdź, czy aplikacja działa w tle (przejdź na ekran główny)
- Otwórz konsolę Firebase i w menu nawigacyjnym po lewej stronie wybierz „Wysyłanie wiadomości w aplikacji”
- Kliknij Utwórz pierwszą kampanię.
- Wybierz kampanię z górnym banerem i wpisz tytuł oraz treść wiadomości
- Kliknij Przetestuj na urządzeniu.
- Dodaj identyfikator instalacji i kliknij Przetestuj.
- Otwórz ponownie aplikację
- Obserwuj wiadomość w aplikacji
7. Gratulacje
Gratulujemy. Udało Ci się wysłać wiadomości FCM i FIAM. Teraz już wiesz, jak nawiązać kontakt z użytkownikami, niezależnie od tego, czy działają na pierwszym planie, czy w tle.
Więcej informacji
- Dokumentacja Komunikacji w chmurze Firebase
- Dokumentacja funkcji Wysyłanie wiadomości w aplikacji za pomocą Firebase
Co dalej?
- Wysyłaj wiadomości do użytkowników w swojej aplikacji na Androida.