# Introduction

### MPush <a href="#mpush" id="mpush"></a>

If your project is configured to send push notifications you must use this set of API to properly register your users' devices tor receive push notifications. Also, you'll need to have basic knowledge of Google Firebase and Firebase Cloud Messaging.

#### Before you start <a href="#before-you-start" id="before-you-start"></a>

You must **create a Firebase project** for your application, this way you'll have the push server key to insert in your `MBurger project`. This will generate a push API KEY.

To create a new Firebase project, please reference [this](https://firebase.google.com/docs/android/setup) documentation.&#x20;

{% hint style="info" %}
Remember that you'll need at least these Firebase dependencies:
{% endhint %}

```bash
com.google.firebase:firebase-core
com.google.firebase:firebase-messaging
```

For the **FCM client setup** refer to [this](https://firebase.google.com/docs/cloud-messaging/android/client) documentation. Long story short you'll need to extend a new`FirebaseMessagingService`which will trigger`onNewToken`to obtain the Firebase token which you'll need to send to the MBurger API and`onMessageReceived,` an event triggered when a push message is received. Be aware that **MBurger uses the "data" message** types in order to permit the developers to completely customize notifications and behavior on receiving notifications (you'll find all about data messages [here](https://firebase.google.com/docs/cloud-messaging/concept-options))

After you have set up your project for Firebase you can start using Nooko SDK to register users receive FCM messages.
