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

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.

206c7ecece550bde.png

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

  1. Otwórz konsolę Firebase.
  2. Wybierz Dodaj projekt.
  3. Wybierz lub wpisz nazwę projektu.
  4. 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).
  5. Na ekranie przeglądu nowego projektu kliknij ikonę Androida, aby rozpocząć proces konfiguracji.
  6. 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.

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

  1. Sprawdź, czy aplikacja działa w tle (przejdź na ekran główny)
  2. Otwórz konsolę Firebase i w panelu nawigacyjnym po lewej stronie wybierz Komunikacja w chmurze.
  3. Wybierz 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 następnie kliknij test.

f3556c6a8a6453fe.png

  1. Obserwuj powiadomienie na ekranie urządzenia
  2. 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:

  1. Sprawdź, czy aplikacja działa w tle (przejdź na ekran główny)
  2. Otwórz konsolę Firebase i w menu nawigacyjnym po lewej stronie wybierz „Wysyłanie wiadomości w aplikacji”
  3. Kliknij Utwórz pierwszą kampanię.
  4. Wybierz kampanię z górnym banerem i wpisz tytuł oraz treść wiadomości
  5. Kliknij Przetestuj na urządzeniu.

69f6ea5efff240d1.png

  1. Dodaj identyfikator instalacji i kliknij Przetestuj.

24b101edfab47144.png

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

Co dalej?

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

Dokumentacja