Skip to main content
Documentation for version v74

Firebase Cloud Messaging

Firebase Cloud Messaging Project Setup

Create a Firebase project:



Add your app to the project:



Register the app by filling in the required details:



Download the google-services.json file:



Configuring the Altcraft Resource

In the Altcraft platform, create a resource or add a new communication channel — Push — to an existing one. In the resource settings, select the Android platform and enable the Firebase Cloud Messaging toggle:



Then, scroll down to the Firebase settings section and specify your Project ID (messagingSenderId) and Sender ID (projectId). You must also upload the Firebase private key file (.json):



You can generate this Firebase file in Project settings —> Service account in the Firebase console.

After making changes, don’t forget to save the resource.

Integrating FCM into the App Project

Manual Integration

Move the downloaded google-services.json file to the root directory of your app module (app):



Then add the necessary plugins and dependencies to your Gradle files:


  • build.gradle.kts (project level)

Add the google-services plugin to the project-level build.gradle.kts file:

    plugins {
id("com.google.gms.google-services") version "4.4.3" apply false
}


Note

Information about the latest plugin version is available here.


  • build.gradle.kts (app level)

Add the google-services plugin to the app-level build.gradle.kts file:

    plugins {
id("com.google.gms.google-services")
}

Also add dependencies:

Using firebase-bom (automatically manages Firebase library versions)
    dependencies {
implementation(platform("com.google.firebase:firebase-bom:34.0.0"))
implementation("com.google.firebase:firebase-messaging")
}
Without firebase-bom
    dependencies {
implementation("com.google.firebase:firebase-messaging:25.0.0")
}


After adding the plugins and dependencies, sync your Gradle changes.


Automatic Setup in Android Studio

Navigate to Tools -> Firebase -> Cloud Messaging -> Set up Firebase Cloud Messaging:



Creating a Class Extending FirebaseMessagingService()

Create a class that extends 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
}
}

Updating the App Manifest

Add the FCMService declaration to your app’s AndroidManifest.xml file:

        <service
android:name="com.altcraft.fcm.FCMService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>

Replace com.altcraft.fcm.FCMService with your own package and class name.