> ## Documentation Index
> Fetch the complete documentation index at: https://moengage.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Android Push Configuration For Hybrid Applications

> Configure Android push notification metadata and FCM authentication for your hybrid MoEngage app.

# Configuring your MoEngage Account

* Please make sure you have set up [Firebase](https://firebase.google.com/docs/android/setup) in your application.
* Configure FCM Authorization on the MoEngage Dashboard. For more information, refer to [FCM Authentication](/developer-guide/android-sdk/push/basic/fcm-authentication).
* Ensure you add the keys in both the Test and Live environments.

## Adding metadata for push notification

Metadata regarding the notification is required to show push notifications where the small icon and large icon drawable are mandatory.

For more information about API reference for all the possible options, refer to [NotificationConfig](https://moengage.github.io/android-api-reference/core/com.moengage.core/%5Bandroid-jvm%5D-mo-engage/-builder/index.html).

Use the [*configureNotificationMetaData()*](https://moengage.github.io/android-api-reference/core/com.moengage.core/%5Bandroid-jvm%5D-mo-engage/-builder/index.html) to transfer the configuration to the SDK.

<CodeGroup>
  ```Kotlin Kotlin theme={null}
  import com.moengage.core.DataCenter
  import com.moengage.core.MoEngage

      
  val moEngage = MoEngage.Builder(this, "YOUR_Workspace_ID", [YOUR_DATA_CENTER])
      .configureNotificationMetaData(NotificationConfig(R.drawable.small_icon, R.drawable.large_icon))
  MoEInitializer.initializeDefaultInstance(applicationContext, moEngage)
  ```

  ```Java Java theme={null}
  import com.moengage.core.DataCenter;
  import com.moengage.core.MoEngage;

      
  MoEngage.Builder moEngage = new MoEngage.Builder(this, "YOUR_Workspace_ID", [YOUR_DATA_CENTER])
      .configureNotificationMetaData(new NotificationConfig(R.drawable.small_icon, R.drawable.large_icon));
   MoEInitializer.INSTANCE.initializeDefaultInstance(getApplicationContext(), moEngage);
  ```
</CodeGroup>

Could you make sure that the SDK is initialized with the metadata in the onCreate() of the Application class for push notifications to work?

<Info>
  **Notification Small Icon Guidelines**

  The notification small icon should be flat, pictured face on, and must be white on a transparent background.
</Info>

## Notification Small Icon Density, Size

| Density (dp) | Size (px) |
| ------------ | --------- |
| MDPI         | 24x24     |
| HDPI         | 36x36     |
| XHDPI        | 48x48     |
| XXHDPI       | 72x72     |
| XXXHDPI      | 96x96     |

<Warning>
  **Critical**

  Please ensure the small icon is set. If the small icon is not set, notifications will not be displayed.
</Warning>
