Android SDK Initialization

Initializing the SDK

 

NOTE

Initialize the SDK on the main thread inside onCreate() and not create a worker thread and initialize the SDK on that thread.
Java

import android.app.Application;
import com.moengage.capacitor.MoEInitializer;
import com.moengage.core.MoEngage;

public class MainApplication extends Application {

  @Override public void onCreate() {
    super.onCreate();
    // this is the instance of the application class and "YOUR_APP_ID" is the APP ID from the dashboard.
    MoEngage.Builder moEngage = new MoEngage.Builder(this, "YOUR_APP_ID")
    MoEInitializer.initialiseDefaultInstance(this, moEngage);
  }
}

For more information about the detailed list of possible configurations, refer to the API reference.

 

NOTE

All the configurations are added to the builder before initialization. If you are calling initialize at multiple places, ensure that all the required flags and configurations are set each time you initialize to maintain consistency in behavior.


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

Screenshot_2022-01-28_at_6.32.19_PM.png

Make sure your application class is defined in the AndroidManifest.xml file as well.

Register MoEngage's Plugin

Register the plugin in your Activity class's onCreate().

Java

import com.getcapacitor.BridgeActivity;
import com.moengage.capacitor.MoECapacitorCorePlugin;

public class MainActivity extends BridgeActivity {

  @Override protected void onCreate(Bundle savedInstanceState) {
    //register the MoEngage Capacitor Plugin
    registerPlugin(MoECapacitorCorePlugin.class);
    super.onCreate(savedInstanceState);
  }
}

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. 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 section of the documentation to learn more about which files to exclude.

Data Redirection

In case your app wants to redirect data to a specific zone due to any data regulation policy please configure the zone in the MoEngage initializer object. Use the setDataCenter() in the MoEngage.Builder to specify the data center.

Refer to the Data Center documentation for more information.

Was this article helpful?
0 out of 0 found this helpful