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

# Release checklist

Before releasing your application with MoEngage SDK integrated verify if the following items have been implemented.

# General

* SDK is initialized in *onCreate()* of the Application class on the Main Thread.
* Disable logging for release build if enabled.
* Enable Java 8 target and source compatibility.

# Data Tracking

* Install/Update Differentiation
* Exhaustive Events and Attributes are tracked based on use-cases.
* User attributes tracked for both new and existing users
* Track the unique identifier for the user on login using *setUniqueId()*
* The logout method is called when the user is logged out of the application

# Push Notification

## FCM

* Firebase messaging dependency added and related Firebase plugins added.
* Small icon and large icon set along with other optional metadata
* In case you are using vector drawables, .webp or any file format other than .png images for notification icons, please make sure you have tested on all OS versions supported by your app.
* Check Firebase receiver in the **AndoidManifest.xml** file. Make sure only 1 receiver is added in the manifest file.
* Test Push on a physical device
* Token Registration and Payload handled by App
  * Disable token registration of MoEngage SDK
  * Token passed to the SDK for a fresh install, app update, and whenever FCM refreshes the token.
  * Push Payload passed on to the SDK
* Token Registration and Payload handled by SDK
  * SDK's FCM receiver added in the manifest
  * Token change listener registered if required.

## Push Amp Plus

### Mi

* Check version compatibility of Mi push dependency with **moe-android-sdk**
* Configured App Key and App-id during SDK initialization
* Test on Mi Device
* Token Registration and Payload handled by App
  * Disable token registration of MoEngage SDK
  * Token passed to the SDK for a fresh install, app update, and whenever Mi refreshes the token.
* Push Payload passed on to the SDK
  * Token Registration and Payload handled by SDK
  * SDK's Mi receiver is added in the manifest.
  * Token change listener registered if required.

### Push Kit

* Push Kit dependency added and related HMS plugins configured.
* Check version compatibility of PushKit dependency with **moe-android-sdk**
* Test on Huawei Device

## Push Templates

* Check version compatibility of the Push Templates dependency with **moe-android-sdk**
* Test a template campaign on the device.

# In-App

* Check version compatibility of the Push Templates dependency with **moe-android-sdk**
* Call *showInApp()* on all Activity or Fragment where you want to show In-Apps
* NudgeView is embedded in the required Activity or Fragment.
* Test In-App Campaigns on a device.

# Inbox

* Check version compatibility of Inbox dependency with **moe-android-sdk**
* Check if campaigns are visible in the applications inbox.

# Cards

* Check version compatibility of the Cards dependency with **moe-android-sdk**
* Check if card campaigns are visible on the device.

# Geofence

* Check version compatibility of the Geofence dependency with **moe-android-sdk**
* Application has added Google’s Location Services as a dependency in the application.
* Application requests appropriate permissions based on the OS version.
