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

Предварительные требования
Никто
Что вы узнаете
- Добавьте Firebase в свое Android-приложение
- Добавьте зависимости FCM и FIAM.
- Отправьте тестовое сообщение FCM в ваше приложение.
- Отправьте тестовое сообщение FIAM в ваше приложение.
Что вам понадобится
- Android Studio 4.1
- Устройство Android или эмулятор
2. Начните
Получите пример кода
Клонируйте репозиторий GitHub из командной строки:
Импортируйте стартовое приложение
В Android Studio выберите каталог codelab-fcm-and-fiam (
Это будет тот файл, который был клонирован на предыдущем шаге ( Файл > Открыть > .../codelab-fcm-and-fiam).
Теперь проект FcmAndFiam должен быть открыт в Android Studio. Если вы видите предупреждение об отсутствии файла google-services.json, не беспокойтесь. Он будет добавлен на следующем шаге.
3. Настройте проект Firebase и ваше приложение для использования Firebase.
Создайте проект Firebase.
- Войдите в консоль Firebase, используя свою учетную запись Google.
- Нажмите кнопку, чтобы создать новый проект, а затем введите название проекта (например,
Send messages codelab»). - Нажмите «Продолжить» .
- Если появится запрос, ознакомьтесь с условиями использования Firebase и примите их, после чего нажмите «Продолжить» .
- (Необязательно) Включите помощь ИИ в консоли Firebase (в Firebase она называется "Gemini").
- Для выполнения этого практического задания вам потребуется Google Analytics для оптимального использования продуктов Firebase, поэтому оставьте переключатель Google Analytics включенным . Следуйте инструкциям на экране, чтобы настроить Google Analytics.
- Нажмите «Создать проект» , дождитесь завершения подготовки проекта, а затем нажмите «Продолжить» .
Добавьте Firebase в свое приложение
- На экране обзора вашего нового проекта нажмите на значок Android, чтобы запустить процесс настройки.
- Введите имя пакета codelab:
com.google.firebase.codelab.fcmandfiam - После добавления имени пакета нажмите «Зарегистрировать приложение», затем «Загрузить google-services.json» , чтобы получить файл конфигурации Firebase Android, после чего скопируйте файл google-services.json в каталог
appвашего проекта. После загрузки файла вы можете нажать «Пропустить» для выполнения следующих шагов, отображаемых в консоли (они уже были выполнены за вас в проекте build-android-start). - Добавьте плагин google-services в ваше приложение**
Плагин google-services использует файл google-services.json для настройки вашего приложения на использование Firebase. Зависимость плагина google-services и сам плагин должны быть уже добавлены в файлы сборки проекта и приложения соответственно. Подтвердите следующие записи: build.gradle app/build.gradlebuildscript { ... dependencies { ... classpath 'com.google.gms:google-services:4.3.8' } }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 — идентификатор установки.
- В
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)
}
}
- Подключите ваше устройство Android и нажмите «Запустить» (
) в панели инструментов 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 следующим образом:
- Убедитесь, что приложение находится в фоновом режиме (перейдите на главный экран).
- Перейдите в консоль Firebase и выберите Cloud Messaging в левой панели навигации.
- Выберите «Отправить первое сообщение»
- Добавьте заголовок и текст сообщения, затем нажмите « Отправить тестовое сообщение».

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

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

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

- Откройте приложение снова
- Обратите внимание на сообщение в приложении.
7. Поздравляем!
Поздравляем, вы успешно отправили сообщения FCM и FIAM. Теперь вы знаете, как взаимодействовать с пользователями независимо от того, используют ли они ваше приложение в фоновом режиме или на переднем плане.
Дополнительная информация
Что дальше?
- Отправляйте сообщения пользователям в своем собственном приложении для Android.