> ## 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 SDK Initialization

> Initialize the MoEngage SDK in your Android application's onCreate method for Cordova integration.

# Initialization

Get the Workspace ID from the **Settings Page Dashboard --> Settings --> App --> General** on the MoEngage dashboard and initialize the MoEngage SDK in the **Application** class's **onCreate()**

<Info>
  It is recommended that you initialize the SDK on the main thread inside **onCreate()** and not create a worker thread and initialize the SDK on that thread.
</Info>

<CodeGroup>
  ```Java Java theme={null}
  import com.moengage.cordova.MoEInitializer;
  import com.moengage.core.MoEngage;
  import com.moengage.core.DataCenter;

  // this is the instance of the application class and "YOUR_Workspace_ID" is the Workspace ID from the dashboard.
  MoEngage.Builder moEngage = new MoEngage.Builder(this,"YOUR_Workspace_ID”, DataCenter.DATA_CENTER_X);
  MoEInitializer.initialiseDefaultInstance(this, moEngage);
  ```
</CodeGroup>

Following details of the different data centers you need to set based on the dashboard hosts

| Data Center                | Dashboard host            |
| -------------------------- | ------------------------- |
| DataCenter.DATA\_CENTER\_1 | dashboard-01.moengage.com |
| DataCenter.DATA\_CENTER\_2 | dashboard-02.moengage.com |
| DataCenter.DATA\_CENTER\_3 | dashboard-03.moengage.com |
| DataCenter.DATA\_CENTER\_4 | dashboard-04.moengage.com |
| DataCenter.DATA\_CENTER\_5 | dashboard-05.moengage.com |

In case your application does not have an Application class yet navigate to java source code inside the android platform folder and add the Application class file.

<Frame>
  <img src="https://mintcdn.com/moengage/Jtvf10ggM77HdKvB/images/cordovaandroidsdkinitialization.png?fit=max&auto=format&n=Jtvf10ggM77HdKvB&q=85&s=b7945ef3bac2ad3d130f5fec0532c5c4" alt="Cordovaandroidsdkinitialization" title="Cordovaandroidsdkinitialization" style={{ width:"61%" }} width="776" height="1612" data-path="images/cordovaandroidsdkinitialization.png" />
</Frame>

Make sure your application class is defined in the **AndroidManifest.xml** file as well.\
Refer to the [API reference doc](https://moengage.github.io/android-api-reference/core/com.moengage.core/-mo-engage/-builder/index.html) for a detailed list of possible configurations.

# Exclude MoEngage Storage File from Auto-Backup

This is a mandatory integration step and is very essential to prevent your data from getting corrupted. Android's auto back-up service periodically backs up Shared Preference files, Database files, etc, more details [here](https://developer.android.com/guide/topics/data/autobackup). This backup results in MoEngage SDK's identifiers being backed up and restored after re-install.This restoration of the identifier results in your data being corrupted and users not being reachable via push notifications.

To ensure data is not corrupted after a backup is restored, opt out of MoEngage SDK's storage files. Refer to [Exclude MoEngage Storage File from the Auto-Backup](/developer-guide/android-sdk/sdk-integration/basic-integration/exclude-mo-engage-storage-file-from-auto-backup) section of the documentation to learn more about which files to exclude.
