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

1. Zanim zaczniesz

Z tego laboratorium dowiesz się, jak dodać możliwość interakcji z użytkownikami, niezależnie od tego, czy korzystają z aplikacji na pierwszym planie, czy w tle.

206c7ecece550bde.png

Wymagania wstępne

Brak

Czego się nauczysz

  • Dodawanie Firebase do aplikacji na Androida
  • Dodawanie zależności FCM i FIAM
  • Wysyłanie testowej wiadomości FCM do aplikacji
  • Wysyłanie do aplikacji testowej wiadomości FIAM

Czego potrzebujesz

  • Android Studio 4.1
  • urządzenie z Androidem lub emulator;

2. Rozpocznij

Pobieranie przykładowego kodu

Sklonuj repozytorium GitHub z wiersza poleceń:

Importowanie aplikacji startowej

W Android Studio wybierz katalog codelab-fcm-and-fiam ( android_studio_folder.png). Powinien to być katalog sklonowany 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ę. Dodasz go w następnym kroku.

3. Konfigurowanie projektu Firebase i aplikacji do korzystania z Firebase

Tworzenie projektu Firebase

  1. Zaloguj się w konsoli Firebase, korzystając ze swojego konta Google.
  2. Kliknij przycisk, aby utworzyć nowy projekt, a następnie wpisz jego nazwę (np. Send messages codelab).
  3. Kliknij Dalej.
  4. Po wyświetleniu monitu przeczytaj i zaakceptuj warunki usługi Firebase, a potem kliknij Dalej.
  5. (Opcjonalnie) Włącz w konsoli Firebase pomoc AI (nazywaną „Gemini w Firebase”).
  6. W tym samouczku Google Analytics jest potrzebne do optymalnego korzystania z usług Firebase, więc pozostaw włączony przełącznik opcji Google Analytics. Aby skonfigurować Google Analytics, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
  7. Kliknij Utwórz projekt, poczekaj, aż projekt zostanie udostępniony, a następnie kliknij Dalej.

Dodaj Firebase do swojej aplikacji

  1. Na ekranie przeglądu nowego projektu kliknij ikonę Androida, aby uruchomić proces konfiguracji.
  2. Wpisz nazwę pakietu codelabu: com.google.firebase.codelab.fcmandfiam
  3. Po dodaniu nazwy pakietu kliknij Zarejestruj aplikację, a potem pobierz plik google-services.json, aby uzyskać plik konfiguracyjny Firebase na Androida. Następnie skopiuj plik google-services.json do katalogu app w projekcie. Po pobraniu pliku możesz kliknąć Pomiń, aby przejść do kolejnych kroków wyświetlanych w konsoli (zostały one już wykonane w projekcie build-android-start).
  4. Dodaj wtyczkę usług Google do aplikacji**
    Wtyczka usług Google używa pliku google-services.json do konfigurowania aplikacji pod kątem korzystania z Firebase. Zależność wtyczki google-services i sama wtyczka powinny być już dodane odpowiednio do plików kompilacji na poziomie projektu i aplikacji. Potwierdź te wpisy:build.gradle
    buildscript {
      ...
      dependencies {
        ...
        classpath 'com.google.gms:google-services:4.3.8'
      }
    }
    
    app/build.gradle
    plugins {
      ...
      id: 'com.google.gms.google-services'
    }
    

Dodawanie zależności

FCM i FIAM wymagają tych zależności. Te zależności powinny być już dodane do pliku kompilacji na poziomie aplikacji. Sprawdź, czy dodano te 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'
}

Synchronizowanie projektu z plikami Gradle

Aby mieć pewność, że wszystkie zależności są dostępne dla aplikacji, w tym momencie zsynchronizuj projekt z plikami Gradle. Na pasku narzędzi Android Studio wybierz File > Sync Project with Gradle Files (Plik > Synchronizuj projekt z plikami Gradle).

4. Identyfikatory dzienników

Komunikacja w chmurze Firebase i Komunikacja w aplikacji Firebase używają identyfikatorów do wysyłania wiadomości do aplikacji. FCM używa tokena rejestracji, a FIAM – identyfikatora instalacji.

  1. MainActivity.kt zastąp TODO kodem poniżej, aby rejestrować 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 na pasku narzędzi Android Studio kliknij Uruchom ( execute.png). Kliknięcie przycisku Log Identifiers (Zapisz identyfikatory) spowoduje zapisanie tokena rejestracji FCM i identyfikatora instalacji Firebase w logcat. Dane wyjściowe powinny wyglądać tak:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. Wysyłanie testowej wiadomości FCM

Wiadomości FCM można wysyłać zarówno z konsoli Firebase, jak i z interfejsu FCM REST API. W tym laboratorium kodowania utworzymy wiadomość powiadomienia FCM i wyślemy ją na nasze urządzenie. Powiadomienia to te, które są wyświetlane w obszarze powiadomień systemu. Wyślij testową wiadomość FCM, wykonując te czynności:

  1. Upewnij się, że aplikacja działa w tle (przejdź do ekranu głównego).
  2. Otwórz konsolę Firebase i w menu nawigacyjnym po lewej stronie kliknij Cloud Messaging.
  3. Kliknij Wyślij pierwszą wiadomość.
  4. Dodaj tytuł i treść wiadomości, a następnie kliknij Wyślij wiadomość testową.

207ced65f5245ada.png

  1. Dodaj token rejestracji FCM, a potem kliknij test.

f3556c6a8a6453fe.png

  1. Obserwuj powiadomienie na wyświetlaczu urządzenia.
  2. Kliknięcie powiadomienia otwiera aplikację.

6. Wysyłanie testowej wiadomości FIAM

Wiadomości w aplikacji Firebase mogą być wywoływane w wyniku różnych zdarzeń użytkownika. Wiadomość testowa używa zdarzenia otwarcia aplikacji do wywołania wiadomości w aplikacji. Aby wysłać testową wiadomość FIAM:

  1. Upewnij się, że aplikacja działa w tle (przejdź do ekranu głównego).
  2. Otwórz konsolę Firebase i w menu nawigacyjnym po lewej stronie wybierz „Wiadomości w aplikacji”.
  3. Kliknij Utwórz pierwszą kampanię.
  4. Wybierz kampanię z banerem u góry strony i wpisz tytuł oraz treść wiadomości.
  5. Kliknij Testuj na urządzeniu.

69f6ea5efff240d1.png

  1. Dodaj identyfikator instalacji i kliknij Testuj.

24b101edfab47144.png

  1. Otwórz ponownie aplikację
  2. Obserwowanie wiadomości w aplikacji

7. Gratulacje

Gratulacje. Udało Ci się wysłać wiadomości FCM i FIAM. Teraz wiesz już, jak zachęcać użytkowników do korzystania z aplikacji, niezależnie od tego, czy jest ona na pierwszym planie, czy w tle.

Więcej informacji

Co dalej?

  • Wysyłaj wiadomości do użytkowników własnej aplikacji na Androida.

Dokumentacja