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

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

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

206c7ecece550bde.png

Предпосылки

Никто

Что вы узнаете

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

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

  • Android-студия 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 в проект

  1. Перейдите в консоль Firebase .
  2. Выберите Добавить проект .
  3. Выберите или введите имя проекта.
  4. Выполните оставшиеся шаги настройки в консоли Firebase, затем нажмите « Создать проект» (или «Добавить Firebase», если вы используете существующий проект Google).
  5. На обзорном экране вашего нового проекта щелкните значок Android, чтобы запустить рабочий процесс установки.
  6. Введите имя пакета codelab: com.google.firebase.codelab.fcmandfiam .

Добавьте файл google-services.json в свое приложение.

После добавления имени пакета нажмите « Зарегистрировать приложение», затем загрузите google-services.json , чтобы получить файл конфигурации Firebase Android, затем скопируйте файл google-services.json в каталог app в вашем проекте. После загрузки файла вы можете нажать « Пропустить », чтобы перейти к следующим шагам, показанным в консоли (они уже были выполнены за вас в проекте build-android-start).

Добавьте плагин 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. Нажатие на кнопку Log Identifiers зарегистрирует токен регистрации 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 Messaging может запускаться в результате различных пользовательских событий. Тестовое сообщение использует событие открытия приложения для запуска сообщения в приложении. Отправьте тестовое сообщение FIAM:

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

69f6ea5efff240d1.png

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

24b101edfab47144.png

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

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

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

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

Что дальше

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

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