Firebase Cloud Messaging
Настройки проекта Firebase Cloud Messaging
Создайте проект Firebase:

Добавьте приложение к проекту:

Зарегистрируйте приложение, заполнив необходимые поля с информацией о нем:

Выполните загрузку google-services.json
:

Настройка ресурса Altcraft
В платформе Altcraft создайте ресурс или добавьте к существующему новый канал коммуникации — Push. Затем в настройках ресурса выберите платформу Android и активируйте переключатель Firebase Cloud Messaging:

Чуть ниже перейдите в настройки Firebase и укажите идентификатор вашего проекта (messagingSenderId
) и идентификатор отправителя (projectId
). Также необходимо загрузить Firebase-файл с приватным ключом (.json):

Создать такой Firebase-файл можно в Firebase в разделе Project setting -> Service account.
После внесения изменений не забудьте сохранить ресурс.
Интеграция FCM в проект приложения
Ручная интеграция
Переместите загруженный файл google-services.json
в в корневой каталог модуля приложения (app):

Затем добавьте плагины и зависимости в Gradle-файлы:
build.gradle.kts (project level)
Добавьте плагин google-services
в файл build.gradle.kts
уровня проекта (project-level):
plugins {
id("com.google.gms.google-services") version "4.4.3" apply false
}

Информация об актуальной версии плагина доступна здесь.
build.gradle.kts (applevel)
Добавьте плагин google-services
в файл build.gradle.kts
уровня приложения (app-level)
plugins {
id("com.google.gms.google-services")
}
Также добавьте зависимости:
С использованием firebase-bom (позволяет автоматически указывает версии firebase-библиотек)
dependencies {
implementation(platform("com.google.firebase:firebase-bom:34.0.0"))
implementation("com.google.firebase:firebase-messaging")
}
Без использования firebase-bom
dependencies {
implementation("com.google.firebase:firebase-messaging:25.0.0")
}

Информация об актуальных версии библиотек доступна на этой странице Firebase.
После добавления плагинов и зависимостей выполните синхронизацию изменений Gradle.
Автоматическая настройка Android Studio
Перейдите в Tools -> Firebase -> CloudMessaging -> Set up Firebase Cloud Messaging:

Создание класса, расширяющего FirebaseMessagingService()
Создайте расширяющий FirebaseMessagingService()
класс:
import com.google.firebase.messaging.FirebaseMessagingService
import com.google.firebase.messaging.RemoteMessage
/**
* FCM service for handling push tokens and messages.
*/
class FCMService : FirebaseMessagingService() {
/**
* Called when a new FCM token is generated.
*
* @param token The new FCM token.
*/
override fun onNewToken(token: String) {
super.onNewToken(token)
}
/**
* Called when a push message is received.
*
* Forwards the message to all receivers with additional metadata.
*
* @param message The received [RemoteMessage].
*/
override fun onMessageReceived(message: RemoteMessage) {
super.onMessageReceived(message)
//message
}
}
Об новление manifest
приложения
Добавьте информацию о FCMService
в AndroidManifest.xml
приложения:
<service
android:name="com.altcraft.fcm.FCMService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
Замените com.altcraft.fcm.FCMService
на ваш пакет и класс.