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

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.

206c7ecece550bde.png

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 ( folder_studio_android.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 opcję 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 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.

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

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

207ced65f5245ada.png

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

f3556c6a8a6453fe.png

  1. Obserwuj powiadomienie wyświetlane na urządzeniu
  2. 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:

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

69f6ea5efff240d1.png

  1. Dodaj identyfikator instalacji i kliknij Testuj

24b101edfab47144.png

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

Dokumenty referencyjne