1. Прежде чем начать
В этой лаборатории кода вы узнаете, как добавить возможность взаимодействия с пользователями независимо от того, используют ли они ваше приложение на переднем плане или в фоновом режиме.
Предварительные условия
Никто
Что вы узнаете
- Добавьте Firebase в свое приложение для Android
- Добавьте зависимости FCM и FIAM
- Отправьте тестовое сообщение FCM в ваше приложение.
- Отправьте тестовое сообщение FIAM в ваше приложение.
Что вам понадобится
- Андроид Студия 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, чтобы запустить рабочий процесс установки.
- Введите имя пакета лаборатории кода:
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 — идентификатор установки.
- В
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. Нажатие на кнопку «Идентификаторы журнала» приведет к регистрации токена регистрации FCM и идентификатора установки Firebase в logcat. Вывод должен выглядеть так:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
FCM registration token: emMc5LART6GV7...r0Q
5. Отправьте тестовое сообщение FCM.
Сообщения FCM можно отправлять как из консоли Firebase, так и из API REST FCM. В этой кодовой лаборатории мы составим сообщение-уведомление FCM и отправим его на наше устройство. Уведомительные сообщения — это сообщения, которые отображаются в области уведомлений системы. Отправьте тестовое сообщение FCM:
- Убедитесь, что приложение работает в фоновом режиме (перейдите на главный экран)
- Перейдите в консоль Firebase и выберите Cloud Messaging на левой панели навигации.
- Выберите Отправить свое первое сообщение.
- Добавьте заголовок и текст сообщения, затем нажмите «Отправить тестовое сообщение».
- Добавьте регистрационный токен FCM, затем нажмите «Проверить».
- Наблюдайте за отображением уведомления на устройстве
- Нажатие на уведомление открывает приложение
6. Отправьте тестовое сообщение FIAM.
Firebase In App Messaging может активироваться в результате различных пользовательских событий. Тестовое сообщение использует событие открытия приложения для запуска сообщения в приложении. Отправьте тестовое сообщение FIAM:
- Убедитесь, что приложение работает в фоновом режиме (перейдите на главный экран)
- Перейдите в консоль Firebase и выберите «Сообщения в приложении» на левой панели навигации.
- Выберите Создать свою первую кампанию.
- Выберите кампанию с верхним баннером и введите заголовок и текст сообщения.
- Нажмите «Проверить на устройстве».
- Добавьте идентификатор установки и нажмите «Тест».
- Повторно открыть приложение
- Обратите внимание на сообщение в приложении
7. Поздравления
Поздравляем, вы успешно отправили сообщения FCM и FIAM. Теперь вы знаете, как взаимодействовать с пользователями независимо от того, используют ли они ваше приложение на переднем плане или в фоновом режиме.
Дальнейшее чтение
- Документы по обмену облачными сообщениями Firebase
- Документы Firebase по обмену сообщениями в приложениях
Что дальше
- Отправляйте сообщения пользователям в своем собственном приложении для Android.
Справочная документация
1. Прежде чем начать
В этой лаборатории кода вы узнаете, как добавить возможность взаимодействия с пользователями независимо от того, используют ли они ваше приложение на переднем плане или в фоновом режиме.
Предварительные условия
Никто
Что вы узнаете
- Добавьте Firebase в свое приложение для Android
- Добавьте зависимости FCM и FIAM
- Отправьте тестовое сообщение FCM в ваше приложение.
- Отправьте тестовое сообщение FIAM в ваше приложение.
Что вам понадобится
- Андроид Студия 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, чтобы запустить рабочий процесс установки.
- Введите имя пакета лаборатории кода:
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 — идентификатор установки.
- В
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. Нажатие на кнопку «Идентификаторы журнала» приведет к регистрации токена регистрации FCM и идентификатора установки Firebase в logcat. Вывод должен выглядеть так:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
FCM registration token: emMc5LART6GV7...r0Q
5. Отправьте тестовое сообщение FCM.
Сообщения FCM можно отправлять как из консоли Firebase, так и из API REST FCM. В этой кодовой лаборатории мы составим сообщение-уведомление FCM и отправим его на наше устройство. Уведомительные сообщения — это сообщения, которые отображаются в области уведомлений системы. Отправьте тестовое сообщение FCM:
- Убедитесь, что приложение работает в фоновом режиме (перейдите на главный экран)
- Перейдите в консоль Firebase и выберите Cloud Messaging на левой панели навигации.
- Выберите Отправить первое сообщение.
- Добавьте заголовок и текст сообщения, затем нажмите «Отправить тестовое сообщение».
- Добавьте регистрационный токен FCM, затем нажмите «Проверить».
- Наблюдайте за отображением уведомления на устройстве
- Нажатие на уведомление открывает приложение.
6. Отправьте тестовое сообщение FIAM.
Firebase In App Messaging может активироваться в результате различных пользовательских событий. Тестовое сообщение использует событие открытия приложения для запуска сообщения в приложении. Отправьте тестовое сообщение FIAM:
- Убедитесь, что приложение работает в фоновом режиме (перейдите на главный экран)
- Перейдите в консоль Firebase и выберите «Сообщения в приложении» на левой панели навигации.
- Выберите Создать свою первую кампанию.
- Выберите кампанию с верхним баннером и введите заголовок и текст сообщения.
- Нажмите «Проверить на устройстве».
- Добавьте идентификатор установки и нажмите «Тест».
- Повторно открыть приложение
- Обратите внимание на сообщение в приложении
7. Поздравления
Поздравляем, вы успешно отправили сообщения FCM и FIAM. Теперь вы знаете, как взаимодействовать с пользователями независимо от того, используют ли они ваше приложение на переднем плане или в фоновом режиме.
Дальнейшее чтение
- Документы по обмену облачными сообщениями Firebase
- Документы Firebase по обмену сообщениями в приложениях
Что дальше
- Отправляйте сообщения пользователям в своем собственном приложении для Android.