Użyj FCM i FIAM do wysyłania wiadomości do użytkowników

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.

206c7ecece550bde.png

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 ( android_studio_folder.png ). 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

  1. Przejdź do konsoli Firebase .
  2. Wybierz Dodaj projekt .
  3. Wybierz lub wprowadź nazwę projektu.
  4. 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).
  5. Na ekranie przeglądu nowego projektu kliknij ikonę Androida, aby uruchomić proces konfiguracji.
  6. 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.

  1. 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)
   }
}
  1. Podłącz swoje urządzenie z Androidem i kliknij Uruchom ( wykonać.png ) 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:

  1. Upewnij się, że aplikacja działa w tle (przejdź do ekranu głównego)
  2. Przejdź do konsoli Firebase i wybierz Cloud Messaging w lewym panelu nawigacyjnym
  3. Wybierz Wyślij swoją pierwszą wiadomość
  4. Dodaj tytuł i treść wiadomości, a następnie kliknij Wyślij testową wiadomość

207ced65f5245ada.png

  1. Dodaj token rejestracji FCM, a następnie kliknij test

f3556c6a8a6453fe.png

  1. Obserwuj powiadomienia o wyświetlaczu na urządzeniu
  2. 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:

  1. Upewnij się, że aplikacja działa w tle (przejdź do ekranu głównego)
  2. Przejdź do konsoli Firebase i wybierz Wiadomości w aplikacji w lewym panelu nawigacyjnym
  3. Wybierz Utwórz swoją pierwszą kampanię
  4. Wybierz kampanię z górnym banerem i wprowadź tytuł oraz treść wiadomości
  5. Kliknij Testuj na urządzeniu

69f6ea5eff240d1.png

  1. Dodaj identyfikator instalacji i kliknij Test

24b101edfab47144.png

  1. Otwórz ponownie aplikację
  2. 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.

Dokumenty referencyjne