Android
Get APP ID from the Settings Page Dashboard --> Settings --> App --> General
on the MoEngage dashboard and initialize the MoEngage SDK in the Application
class's onCreate()
.
It is recommended that you initialize the SDK on the main thread inside |
// this is the instance of the application class and "XXXXXXXXXXX" is the APP ID from the dashboard.
MoEngage.Builder moEngage =
new MoEngage.Builder(this, "XXXXXXXXXXX");
MoEInitializer.INSTANCE.initialize(getApplicationContext(), moEngage);
In case you are facing issues with the import add the below import statement in your java file.
import com.moe.pushlibrary.MoEHelper;
import com.moengage.core.MoEngage;
import com.moengage.react.MoEInitializer;
Refer to the API reference doc for a detailed list of possible configurations.
iOS
For initializing the project, you will have to provide the AppID of your MoEngage App.
Getting App ID :Login to your MoEngage account, go to Settings in the left panel of the dashboard. Under App Settings, you will find your APP ID. |
- Go to info.plist of your project.
- Create MoEngage dictionary
- Inside MoEngage dictionary, Add MoEngage_APP_ID key and provide AppID.
IMPORTANT [Introduced in plugin version 6.0.0]Make sure to call the below |
Once the AppID changes are done, go to your AppDelegate
file and call the below initialization method in application:didFinishLaunchingWithOptions:
method:
Data Redirection:Make sure to call |
#import <ReactNativeMoEngage/MOReactInitializer.h>
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Set Data Center
[MoEngage setDataCenter:DATA_CENTER_01]; //DATA_CENTER_01, DATA_CENTER_02, OR DATA_CENTER_03
[[MOReactInitializer sharedInstance] intializeSDKWithLaunchOptions:launchOptions];
// Rest of the implementation
return YES;
}
Initialise React-Native Component
Initialize the MoEngage Plugin in the App.js
of your application by calling the ReactMoE.initialize()
in the render()
or componentDidMount()
import ReactMoE from 'react-native-moengage'
ReactMoE.initialize();
NOTEMake sure you are setting the Push/InApp callback listeners before calling the |
Install/Update differentiation
Since you might integrate us when your app is already on the App Store, we would need to know whether your app update would be an actual UPDATE or an INSTALL.
Have logic in place to differentiate Install and Update and make use of the setAppStatus()
method to track the same as shown below:
import ReactMoE, {
MoEAppStatus,
} from "react-native-moengage";
//For Fresh Install of App
ReactMoE.setAppStatus(MoEAppStatus.Install);
// For Existing user who has updated the app
ReactMoE.setAppStatus(MoEAppStatus.Update);