1. Прежде чем начать
В этой лабораторной работе вы узнаете, как добавить возможность взаимодействия с пользователями, независимо от того, используют ли они ваше приложение на переднем плане или ваше приложение находится в фоновом режиме.
Предпосылки
Никто
Что вы узнаете
- Добавьте Firebase в свое приложение для Android
- Добавьте зависимости FCM и FIAM
- Отправить тестовое сообщение FCM в ваше приложение
- Отправьте тестовое сообщение FIAM в свое приложение
Что вам понадобится
- Android-студия 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, затем нажмите «Создать проект» (или «Добавить Firebase», если вы используете существующий проект Google).
- На обзорном экране вашего нового проекта щелкните значок Android, чтобы запустить рабочий процесс установки.
- Введите имя пакета 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 использует идентификатор установки.
- В
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 зарегистрирует токен регистрации FCM и идентификатор установки Firebase в logcat. Вывод должен выглядеть так:
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 может запускаться в результате различных пользовательских событий. Тестовое сообщение использует событие открытия приложения для запуска сообщения в приложении. Отправьте тестовое сообщение FIAM:
- Убедитесь, что приложение находится в фоновом режиме (перейдите на главный экран)
- Перейдите в консоль Firebase и выберите In-App Messaging в левой навигационной панели.
- Выберите Создать свою первую кампанию.
- Выберите верхнюю баннерную кампанию и введите заголовок и текст сообщения.
- Нажмите «Проверить на устройстве».
- Добавьте идентификатор установки и нажмите «Проверить».
- Повторно открыть приложение
- Наблюдайте в сообщении приложения
7. Поздравления
Поздравляем, вы успешно отправили сообщения FCM и FIAM. Теперь вы знаете, как взаимодействовать со своими пользователями, независимо от того, используют ли они ваше приложение на переднем плане или в фоновом режиме.
дальнейшее чтение
Что дальше
- Отправляйте сообщения пользователям в собственном приложении для Android.