Используйте FCM и FIAM для отправки сообщений пользователям.

1. Прежде чем начать

В этой лабораторной работе вы узнаете, как добавить возможность взаимодействия с пользователями независимо от того, используют ли они ваше приложение на переднем плане или в фоновом режиме.

206c7ecece550bde.png

Предпосылки

Никто

Чему вы научитесь

  • Добавьте Firebase в ваше приложение Android
  • Добавить зависимости FCM и FIAM
  • Отправьте тестовое сообщение FCM в ваше приложение
  • Отправьте тестовое сообщение FIAM в ваше приложение

Что вам понадобится

  • Android Studio 4.1
  • Android-устройство или эмулятор

2. Начните

Получить пример кода

Клонируйте репозиторий GitHub из командной строки:

Импортируйте стартовое приложение

В Android Studio выберите каталог codelab-fcm-and-fiam ( android_studio_folder.png ). Это будет тот, который был клонирован на предыдущем шаге ( Файл > Открыть > .../codelab-fcm-and-fiam).

Теперь проект FcmAndFiam должен быть открыт в Android Studio. Если вы видите предупреждение об отсутствии файла google-services.json, не волнуйтесь. Он будет добавлен на следующем шаге.

3. Настройте проект Firebase и свое приложение для использования Firebase.

Создать проект Firebase

  1. Войдите в консоль Firebase, используя свою учетную запись Google.
  2. Нажмите кнопку, чтобы создать новый проект, а затем введите имя проекта (например, Send messages codelab ).
  3. Нажмите «Продолжить» .
  4. При появлении соответствующего запроса ознакомьтесь с условиями Firebase и примите их, а затем нажмите кнопку «Продолжить» .
  5. (Необязательно) Включите помощь ИИ в консоли Firebase (так называемая «Gemini в Firebase»).
  6. Для этой практической работы вам понадобится Google Analytics для оптимального использования продуктов Firebase, поэтому включите опцию Google Analytics. Следуйте инструкциям на экране, чтобы настроить Google Analytics.
  7. Нажмите «Создать проект» , дождитесь завершения подготовки проекта, а затем нажмите «Продолжить» .

Добавьте Firebase в свое приложение

  1. На обзорном экране нового проекта щелкните значок Android, чтобы запустить рабочий процесс настройки.
  2. Введите имя пакета codelab: com.google.firebase.codelab.fcmandfiam
  3. После добавления имени пакета нажмите «Register App», затем «Download google-services.json», чтобы получить файл конфигурации Firebase для Android. Затем скопируйте файл google-services.json в каталог app вашего проекта. После загрузки файла нажмите «Skip» , чтобы перейти к следующим шагам, отображаемым в консоли (они уже выполнены в проекте build-android-start).
  4. Добавьте плагин Google-services в свое приложение**
    Плагин google-services использует файл google-services.json для настройки вашего приложения для работы с Firebase. Зависимость плагина google-services и сам плагин должны быть уже добавлены в файлы сборки проекта и приложения соответственно. Подтвердите следующие записи: build.gradle
    buildscript {
      ...
      dependencies {
        ...
        classpath 'com.google.gms:google-services:4.3.8'
      }
    }
    
    приложение/build.gradle
    plugins {
      ...
      id: 'com.google.gms.google-services'
    }
    

Добавить зависимости

Для FCM и FIAM требуются следующие зависимости. Эти зависимости должны быть уже добавлены в файл сборки уровня приложения. Убедитесь, что следующие зависимости добавлены:

приложение/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'
}

Синхронизируйте свой проект с файлами Gradle

Чтобы убедиться, что все зависимости доступны вашему приложению, на этом этапе необходимо синхронизировать проект с файлами Gradle. Выберите «Файл» > «Синхронизировать проект с файлами Gradle» на панели инструментов Android Studio.

4. Идентификаторы журналов

Firebase Cloud Messaging и Firebase In App Messaging используют идентификаторы для отправки сообщений приложениям. FCM использует регистрационный токен, а FIAM — идентификатор установки.

  1. В MainActivity.kt замените TODO на код ниже, чтобы регистрировать идентификаторы, необходимые для отправки сообщений:
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. Подключите свое Android-устройство и нажмите «Выполнить» ( выполнить.png ) на панели инструментов Android Studio. При нажатии кнопки «Идентификаторы журнала» регистрационный токен FCM и идентификатор установки Firebase будут записаны в logcat. Вывод должен выглядеть следующим образом:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. Отправьте тестовое сообщение FCM.

Сообщения FCM можно отправлять как из консоли Firebase, так и через REST API FCM. В этой лабораторной работе мы создадим уведомление FCM и отправим его на наше устройство. Уведомления — это сообщения, которые отображаются в области уведомлений системы. Отправьте тестовое сообщение FCM следующим образом:

  1. Убедитесь, что приложение работает в фоновом режиме (перейдите на главный экран)
  2. Перейдите в консоль Firebase и выберите Cloud Messaging в левой навигационной панели.
  3. Выберите «Отправить первое сообщение».
  4. Добавьте заголовок и текст сообщения, затем нажмите « Отправить тестовое сообщение».

207ced65f5245ada.png

  1. Добавьте токен регистрации FCM, затем нажмите «Тест».

f3556c6a8a6453fe.png

  1. Наблюдать за отображением уведомлений на устройстве
  2. Нажатие на уведомление открывает приложение.

6. Отправьте тестовое сообщение FIAM.

Сообщения Firebase In App могут быть активированы в результате различных пользовательских событий. Тестовое сообщение использует событие открытия приложения для запуска сообщения In App. Отправьте тестовое сообщение FIAM следующим образом:

  1. Убедитесь, что приложение работает в фоновом режиме (перейдите на главный экран)
  2. Перейдите в консоль Firebase и выберите «In-App Messaging» в левой навигационной панели.
  3. Выберите «Создать свою первую кампанию».
  4. Выберите верхнюю баннерную кампанию и введите заголовок и текст сообщения.
  5. Нажмите «Тест» на устройстве.

69f6ea5efff240d1.png

  1. Добавьте идентификатор установки и нажмите «Тест».

24b101edfab47144.png

  1. Повторно открыть приложение
  2. Наблюдать в сообщении приложения

7. Поздравления

Поздравляем! Вы успешно отправили сообщения FCM и FIAM. Теперь вы знаете, как взаимодействовать с пользователями, независимо от того, используют ли они ваше приложение в активном режиме или в фоновом режиме.

Дальнейшее чтение

Что дальше?

  • Отправляйте сообщения пользователям в вашем собственном приложении для Android.

Справочные документы