Skip to main content
Documentation for version v73

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 settingsService 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.