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

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

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

206c7ecece550bde.png

Предварительные условия

Никто

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

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

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

  • Андроид Студия 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. Введите имя пакета лаборатории кода: com.google.firebase.codelab.fcmandfiam .

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

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

Добавьте плагин Google-сервисов в свое приложение

Плагин 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, так и из API REST 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 и выберите «Сообщения в приложении» на левой панели навигации.
  3. Выберите Создать свою первую кампанию.
  4. Выберите кампанию с верхним баннером и введите заголовок и текст сообщения.
  5. Нажмите «Протестировать на устройстве».

69f6ea5efff240d1.png

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

24b101edfab47144.png

  1. Повторно открыть приложение
  2. Обратите внимание на сообщение в приложении

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

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

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

Что дальше

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

Справочная документация