Используйте 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 (в Firebase она называется "Gemini").
  6. Для выполнения этого практического задания вам потребуется Google Analytics для оптимального использования продуктов Firebase, поэтому оставьте переключатель Google Analytics включенным . Следуйте инструкциям на экране, чтобы настроить Google Analytics.
  7. Нажмите «Создать проект» , дождитесь завершения подготовки проекта, а затем нажмите «Продолжить» .

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

  1. На экране обзора вашего нового проекта нажмите на значок Android, чтобы запустить процесс настройки.
  2. Введите имя пакета codelab: com.google.firebase.codelab.fcmandfiam
  3. После добавления имени пакета нажмите «Зарегистрировать приложение», затем «Загрузить google-services.json» , чтобы получить файл конфигурации Firebase Android, после чего скопируйте файл google-services.json в каталог app вашего проекта. После загрузки файла вы можете нажать «Пропустить» для выполнения следующих шагов, отображаемых в консоли (они уже были выполнены за вас в проекте 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'
      }
    }
    
    app/build.gradle
    plugins {
      ...
      id: 'com.google.gms.google-services'
    }
    

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

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

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'
}

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

Чтобы убедиться, что все зависимости доступны вашему приложению, на этом этапе следует синхронизировать проект с файлами Gradle. Выберите File > Sync Project with Gradle Files на панели инструментов 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 и нажмите «Запустить» ( execute.png ) в панели инструментов Android Studio. Нажатие на кнопку «Log Identifiers» запишет в logcat токен регистрации FCM и идентификатор установки Firebase. Вывод должен выглядеть примерно так:
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 могут запускаться в результате различных событий пользователя. Тестовое сообщение использует событие открытия приложения для запуска сообщений In App Messaging. Отправьте тестовое сообщение FIAM следующим образом:

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

69f6ea5efff240d1.png

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

24b101edfab47144.png

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

7. Поздравляем!

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

Дополнительная информация

Что дальше?

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

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