App Center Push


If you have integrated Push in earlier versions of the SDK, you can optionally remove Firebase SDK dependencies.

App Center Push enables you to send push notifications to users of your app from the App Center portal. App Center portal and the Push SDK is integrated with Firebase Cloud Messaging.

Note that only devices having the Google Play store application or emulators with Google APIs images can receive the notifications.


A notification appears in the system notification center only if the application is in the background at the moment the Push is received.

Set up Firebase Cloud Messaging

You need a Google Account and use the Firebase console.

  1. Create a project on the Firebase console.
  2. Go to project settings (the cog icon).
  3. Go to Cloud Messaging tab.
  4. Copy the Server Key. You will need this key as part of the configuration of Push on the App Center portal for your application.
  5. Copy the Sender ID, as you will need it in SDK integration.

Add App Center Push to your app

Please follow the Get started section if you haven't set up and started the SDK in your application, yet.

1. Add the App Center Push module

The App Center SDK is designed with a modular approach – a developer only needs to integrate the modules of the services that they're interested in.

  1. Open your app level build.gradle file (app/build.gradle) and add the following lines after apply plugin. Include the dependencies that you want in your project. Each SDK module needs to be added as a separate dependency in this section. For integrating the Push module, add the following lines:

    dependencies {
       def appCenterSdkVersion = '1.4.0'
       compile "${appCenterSdkVersion}"
  2. Make sure to trigger a Gradle sync in Android Studio.

2. Start App Center Push

In order to use App Center, you need to opt in to the module(s) that you want to use, meaning by default no modules are started and you will have to explicitly call each of them when starting the SDK.

Add Push.class to your AppCenter.start() method to start App Center Push service. You must set the Sender ID before calling AppCenter.start().

Push.setSenderId("{Your Sender ID}");
AppCenter.start(getApplication(), "{Your App Secret}", Push.class);

Make sure you have replaced {Your App Secret} in the code sample above with your App Secret. Also make sure that you have replaced {Your Sender ID} with the Sender ID obtained in the "Prerequisites" section. Please check out the Get started section if you haven't set up and started the SDK in your application, yet.

Android Studio will automatically suggest the required import statement once you add Push.class to the start() method, but if you see an error that the class names are not recognized, add the following lines to the import statements in your activity class:


Intercept push notifications

You can set up a listener to be notified whenever a push notification is received in foreground or a background push notification has been clicked by the user.


A notification is not generated when your application receives a push in the foreground.


If the push is received in background, the event is NOT triggered at receive time. The event is triggered when you click on the notification.


The background notification click callback does NOT expose title and message. Title and message are only available in foreground pushes.

You need to register the listener before calling AppCenter.start as shown in the following example:

Push.setListener(new MyPushListener());

If (and only if) your launcher activity uses a launchMode of singleTop, singleInstance or singleTask, you need to add this in the activity onNewIntent method:

    protected void onNewIntent(Intent intent) {
        Push.checkLaunchedFromNotification(this, intent);

Here is an example of the listener implementation that displays an alert dialog if the message is received in foreground or a toast if a background push has been clicked:

public class MyPushListener implements PushListener {

    public void onPushNotificationReceived(Activity activity, PushNotification pushNotification) {

        /* The following notification properties are available. */
        String title = pushNotification.getTitle();
        String message = pushNotification.getMessage();
        Map<String, String> customData = pushNotification.getCustomData();

         * Message and title cannot be read from a background notification object.
         * Message being a mandatory field, you can use that to check foreground vs background.
        if (message != null) {

            /* Display an alert for foreground push. */
            AlertDialog.Builder dialog = new AlertDialog.Builder(activity);
            if (title != null) {
            if (!customData.isEmpty()) {
                dialog.setMessage(message + "\n" + customData);
            dialog.setPositiveButton(android.R.string.ok, null);
        } else {

            /* Display a toast when a background push is clicked. */
            Toast.makeText(activity, String.format(activity.getString(R.string.push_toast), customData), Toast.LENGTH_LONG).show(); // For example R.string.push_toast would be "Push clicked with data=%1s"

Custom data in your notifications

You can send optional custom data as part of the push payload. The data will be sent in the key-value format. This custom data can be intercepted in the app through Push SDK callback.

There are few reserved keywords that can be set via custom data. You can customize your notifications by setting custom color, icon or sound.


Android 5.0 and later uses a silhouette (only alpha channel) of your icon for notifications. See Android 5.0 Behavior Changes for details.

Reserved keywords in Android platform

  • color: The notification's icon color, expressed in #rrggbb format. Will be applied only on devices with Android 5.0 and later.
  • icon: The notification's icon. You should specify name of the icon resource. Supports drawable and mipmap types. If this value isn't specified application icon will be used.
  • sound: Add this key when you want the to play a sound when the device receives the notification. Supports default or the filename of a sound resource bundled in the app. Sound files must reside in /res/raw/. This is effective only for devices running or targeting an Android version lower than 8. Sound is set by default on Android 8 and user can change notification settings for the group of notifications coming from AppCenter.

Existing Firebase Analytics users

App Center Push SDK automatically disables Firebase Analytics. If you are a Firebase customer and want to keep reporting analytics data to Firebase, you need to call the following method before AppCenter.start:

AppCenter.start(getApplication(), "{Your App Secret}", Push.class);

Enable or disable App Center Push at runtime

You can enable and disable App Center Push at runtime. If you disable it, the SDK will stop updating the Google registration identifier used to push but the existing one will continue working. In other words, disabling the App Center Push in the SDK will NOT stop your application from receiving push notifications.


To enable App Center Push again, use the same API but pass true as a parameter.


This API is asynchronous, you can read more about that in our App Center Asynchronous APIs guide.

Check if App Center Push is enabled

You can also check if App Center Push is enabled or not:


This API is asynchronous, you can read more about that in our App Center Asynchronous APIs guide.