UNPKG

capacitor-moengage-core

Version:

MoEngage is a mobile marketing automation company. This capacitor SDK helps you track events, trigger smart notifications.

1,195 lines (744 loc) 85.2 kB
# capacitor-moengage-core MoEngage is a mobile marketing automation company. This capacitor SDK helps you track events, trigger smart notifications. ## Install ```bash npm install capacitor-moengage-core npx cap sync ``` ## API <docgen-index> * [`initialize(...)`](#initialize) * [`trackEvent(...)`](#trackevent) * [`setUniqueId(...)`](#setuniqueid) * [`setAlias(...)`](#setalias) * [`setUserName(...)`](#setusername) * [`setFirstName(...)`](#setfirstname) * [`setLastName(...)`](#setlastname) * [`setEmailId(...)`](#setemailid) * [`setMobileNumber(...)`](#setmobilenumber) * [`setBirthDate(...)`](#setbirthdate) * [`setGender(...)`](#setgender) * [`setUserLocation(...)`](#setuserlocation) * [`setUserAttribute(...)`](#setuserattribute) * [`setUserAttributeDate(...)`](#setuserattributedate) * [`setUserAttributeLocation(...)`](#setuserattributelocation) * [`setAppStatus(...)`](#setappstatus) * [`logoutUser(...)`](#logoutuser) * [`enableSdk(...)`](#enablesdk) * [`disableSdk(...)`](#disablesdk) * [`showInApp(...)`](#showinapp) * [`getSelfHandledInApp(...)`](#getselfhandledinapp) * [`selfHandledShown(...)`](#selfhandledshown) * [`selfHandledClicked(...)`](#selfhandledclicked) * [`selfHandledDismissed(...)`](#selfhandleddismissed) * [`setInAppContext(...)`](#setinappcontext) * [`resetInAppContext(...)`](#resetinappcontext) * [`enableDataTracking(...)`](#enabledatatracking) * [`disableDataTracking(...)`](#disabledatatracking) * [`passFcmPushToken(...)`](#passfcmpushtoken) * [`passFcmPushPayload(...)`](#passfcmpushpayload) * [`registerForPush()`](#registerforpush) * [`onOrientationChanged()`](#onorientationchanged) * [`passAuthenticationDetails(...)`](#passauthenticationdetails) * [`addListener('pushTokenGenerated', ...)`](#addlistenerpushtokengenerated-) * [`addListener('pushClicked', ...)`](#addlistenerpushclicked-) * [`addListener('inAppCampaignShown', ...)`](#addlistenerinappcampaignshown-) * [`addListener('inAppCampaignClicked', ...)`](#addlistenerinappcampaignclicked-) * [`addListener('inAppCampaignDismissed', ...)`](#addlistenerinappcampaigndismissed-) * [`addListener('inAppCampaignCustomAction', ...)`](#addlistenerinappcampaigncustomaction-) * [`addListener('inAppCampaignSelfHandled', ...)`](#addlistenerinappcampaignselfhandled-) * [`addListener('logoutCompleted', ...)`](#addlistenerlogoutcompleted-) * [`addListener('authenticationError', ...)`](#addlistenerauthenticationerror-) * [`enableAdIdTracking(...)`](#enableadidtracking) * [`disableAdIdTracking(...)`](#disableadidtracking) * [`enableAndroidIdTracking(...)`](#enableandroididtracking) * [`disableAndroidIdTracking(...)`](#disableandroididtracking) * [`setupNotificationChannelsAndroid()`](#setupnotificationchannelsandroid) * [`pushPermissionResponseAndroid(...)`](#pushpermissionresponseandroid) * [`navigateToSettingsAndroid()`](#navigatetosettingsandroid) * [`requestPushPermissionAndroid()`](#requestpushpermissionandroid) * [`addListener('onPermissionResult', ...)`](#addlisteneronpermissionresult-) * [`enableDeviceIdTracking(...)`](#enabledeviceidtracking) * [`disableDeviceIdTracking(...)`](#disabledeviceidtracking) * [`updatePushPermissionRequestCountAndroid(...)`](#updatepushpermissionrequestcountandroid) * [`deleteUser(...)`](#deleteuser) * [`showNudge(...)`](#shownudge) * [`identifyUser(...)`](#identifyuser) * [`getUserIdentities(...)`](#getuseridentities) * [`getSelfHandledInApps(...)`](#getselfhandledinapps) * [`registerForProvisionalPush()`](#registerforprovisionalpush) * [Interfaces](#interfaces) * [Type Aliases](#type-aliases) * [Enums](#enums) </docgen-index> <docgen-api> <!--Update the source file JSDoc comments and rerun docgen to update the docs below--> ### initialize(...) ```typescript initialize(options: { appId: string; initConfig: MoEInitConfig; lifecycleAwareCallbackEnabled?: boolean; }) => Promise<void> ``` Initialise MoEngage Capacitor Plugin | Param | Type | | ------------- | -------------------------------------------------------------------------------------------------------------------------------- | | **`options`** | <code>{ appId: string; initConfig: <a href="#moeinitconfig">MoEInitConfig</a>; lifecycleAwareCallbackEnabled?: boolean; }</code> | **Since:** 2.0.0 -------------------- ### trackEvent(...) ```typescript trackEvent(options: { eventName: string; eventAttributes?: MoEProperties; appId: string; }) => Promise<void> ``` Track user behaviour as events with properties | Param | Type | | ------------- | ---------------------------------------------------------------------------------------------------------------- | | **`options`** | <code>{ eventName: string; eventAttributes?: <a href="#moeproperties">MoEProperties</a>; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### setUniqueId(...) ```typescript setUniqueId(options: { uniqueId: string; appId: string; }) => Promise<void> ``` Set a Unique Identifier for the user. | Param | Type | | ------------- | ------------------------------------------------- | | **`options`** | <code>{ uniqueId: string; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### setAlias(...) ```typescript setAlias(options: { alias: string; appId: string; }) => Promise<void> ``` Set an Alias to update the existing Unique Id | Param | Type | | ------------- | ---------------------------------------------- | | **`options`** | <code>{ alias: string; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### setUserName(...) ```typescript setUserName(options: { userName: string; appId: string; }) => Promise<void> ``` Set user's full name | Param | Type | | ------------- | ------------------------------------------------- | | **`options`** | <code>{ userName: string; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### setFirstName(...) ```typescript setFirstName(options: { firstName: string; appId: string; }) => Promise<void> ``` Set user's first name | Param | Type | | ------------- | -------------------------------------------------- | | **`options`** | <code>{ firstName: string; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### setLastName(...) ```typescript setLastName(options: { lastName: string; appId: string; }) => Promise<void> ``` Set user's last name | Param | Type | | ------------- | ------------------------------------------------- | | **`options`** | <code>{ lastName: string; appId: string; }</code> | -------------------- ### setEmailId(...) ```typescript setEmailId(options: { emailId: string; appId: string; }) => Promise<void> ``` Set user's email id | Param | Type | | ------------- | ------------------------------------------------ | | **`options`** | <code>{ emailId: string; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### setMobileNumber(...) ```typescript setMobileNumber(options: { mobileNumber: string; appId: string; }) => Promise<void> ``` Set user's mobile number | Param | Type | | ------------- | ----------------------------------------------------- | | **`options`** | <code>{ mobileNumber: string; appId: string; }</code> | -------------------- ### setBirthDate(...) ```typescript setBirthDate(options: { birthdate: string; appId: string; }) => Promise<void> ``` Set user's birthdate. | Param | Type | | ------------- | -------------------------------------------------- | | **`options`** | <code>{ birthdate: string; appId: string; }</code> | **Since:** 1.0.0 -------------------- ### setGender(...) ```typescript setGender(options: { gender: MoEUserGender; appId: string; }) => Promise<void> ``` Set user's gender. | Param | Type | | ------------- | ----------------------------------------------------------------------------------- | | **`options`** | <code>{ gender: <a href="#moeusergender">MoEUserGender</a>; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### setUserLocation(...) ```typescript setUserLocation(options: { location: MoEGeoLocation; appId: string; }) => Promise<void> ``` Set user's location | Param | Type | | ------------- | --------------------------------------------------------------------------------------- | | **`options`** | <code>{ location: <a href="#moegeolocation">MoEGeoLocation</a>; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### setUserAttribute(...) ```typescript setUserAttribute(options: { name: string; value: string | number | boolean | Array<string> | Array<number>; appId: string; }) => Promise<void> ``` Set the user defined attribute with value. | Param | Type | | ------------- | --------------------------------------------------------------------------------------------------------- | | **`options`** | <code>{ name: string; value: string \| number \| boolean \| string[] \| number[]; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### setUserAttributeDate(...) ```typescript setUserAttributeDate(options: { name: string; value: string; appId: string; }) => Promise<void> ``` Set a user attribute timestamp for the current user | Param | Type | | ------------- | ------------------------------------------------------------ | | **`options`** | <code>{ name: string; value: string; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### setUserAttributeLocation(...) ```typescript setUserAttributeLocation(options: { name: string; location: MoEGeoLocation; appId: string; }) => Promise<void> ``` Set the user attribute location | Param | Type | | ------------- | ----------------------------------------------------------------------------------------------------- | | **`options`** | <code>{ name: string; location: <a href="#moegeolocation">MoEGeoLocation</a>; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### setAppStatus(...) ```typescript setAppStatus(options: { appStatus: MoEAppStatus; appId: string; }) => Promise<void> ``` This API tells the SDK whether it is a fresh install or an existing application was updated. | Param | Type | | ------------- | ------------------------------------------------------------------------------------ | | **`options`** | <code>{ appStatus: <a href="#moeappstatus">MoEAppStatus</a>; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### logoutUser(...) ```typescript logoutUser(options: { appId: string; }) => Promise<void> ``` Notify the SDK that the user has logged out of the application | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Since:** 2.0.0 -------------------- ### enableSdk(...) ```typescript enableSdk(options: { appId: string; }) => Promise<void> ``` API to enable SDK usage. | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Since:** 2.0.0 -------------------- ### disableSdk(...) ```typescript disableSdk(options: { appId: string; }) => Promise<void> ``` API to disable all features of the SDK. | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Since:** 2.0.0 -------------------- ### showInApp(...) ```typescript showInApp(options: { appId: string; }) => Promise<void> ``` Call this method wherever InApp message has to be shown, if available. | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Since:** 2.0.0 -------------------- ### getSelfHandledInApp(...) ```typescript getSelfHandledInApp(options: { appId: string; }) => Promise<void> ``` Triggers fetching self handled in-app, the result is returned in the `inAppCampaignSelfHandled` listener | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Since:** 2.0.0 -------------------- ### selfHandledShown(...) ```typescript selfHandledShown(campaignData: MoEInAppSelfHandledCampaignData) => Promise<void> ``` API to track self handled in-app shown event. | Param | Type | Description | | ------------------ | ------------------------------------------------------------------------------------------- | --------------- | | **`campaignData`** | <code><a href="#moeinappselfhandledcampaigndata">MoEInAppSelfHandledCampaignData</a></code> | in-app campaign | **Since:** 2.0.0 -------------------- ### selfHandledClicked(...) ```typescript selfHandledClicked(campaignData: MoEInAppSelfHandledCampaignData) => Promise<void> ``` API to track click event of any other widget apart from primary widget in the self handled in-app. | Param | Type | Description | | ------------------ | ------------------------------------------------------------------------------------------- | --------------- | | **`campaignData`** | <code><a href="#moeinappselfhandledcampaigndata">MoEInAppSelfHandledCampaignData</a></code> | in-app campaign | **Since:** 2.0.0 -------------------- ### selfHandledDismissed(...) ```typescript selfHandledDismissed(campaignData: MoEInAppSelfHandledCampaignData) => Promise<void> ``` API to track self handled in-app's dismiss event. | Param | Type | Description | | ------------------ | ------------------------------------------------------------------------------------------- | --------------- | | **`campaignData`** | <code><a href="#moeinappselfhandledcampaigndata">MoEInAppSelfHandledCampaignData</a></code> | in-app campaign | **Since:** 2.0.0 -------------------- ### setInAppContext(...) ```typescript setInAppContext(options: { contexts: Array<string>; appId: string; }) => Promise<void> ``` Set current context for in-app module. | Param | Type | | ------------- | --------------------------------------------------- | | **`options`** | <code>{ contexts: string[]; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### resetInAppContext(...) ```typescript resetInAppContext(options: { appId: string; }) => Promise<void> ``` Resets/Clears the previously set context for in-app module. | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Since:** 2.0.0 -------------------- ### enableDataTracking(...) ```typescript enableDataTracking(options: { appId: string; }) => Promise<void> ``` Optionally opt-in data tracking. | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Since:** 2.0.0 -------------------- ### disableDataTracking(...) ```typescript disableDataTracking(options: { appId: string; }) => Promise<void> ``` Optionally opt-out of data tracking. When data tracking is opted no event or user attribute is tracked on MoEngage Platform. | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Since:** 2.0.0 -------------------- ### passFcmPushToken(...) ```typescript passFcmPushToken(options: { token: string; appId: string; }) => Promise<void> ``` Pass FCM Push Token to the MoEngage SDK | Param | Type | | ------------- | ---------------------------------------------- | | **`options`** | <code>{ token: string; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### passFcmPushPayload(...) ```typescript passFcmPushPayload(options: { payload: object; appId: string; }) => Promise<void> ``` Pass FCM payload to MoEngage SDK | Param | Type | | ------------- | ------------------------------------------------ | | **`options`** | <code>{ payload: object; appId: string; }</code> | **Since:** 2.0.0 -------------------- ### registerForPush() ```typescript registerForPush() => Promise<void> ``` Register For Push Notification for iOS **Since:** 2.0.0 -------------------- ### onOrientationChanged() ```typescript onOrientationChanged() => Promise<void> ``` Notifies MoEngage SDK of device orientation change **Since:** 2.0.0 -------------------- ### passAuthenticationDetails(...) ```typescript passAuthenticationDetails(options: { authenticationData: MoEAuthenticationData; appId: string; }) => Promise<void> ``` Pass JWT authentication details to the native SDK (after login / token refresh). | Param | Type | | ------------- | --------------------------------------------------------------------------------------------------------------- | | **`options`** | <code>{ authenticationData: <a href="#moeauthenticationdata">MoEAuthenticationData</a>; appId: string; }</code> | **Since:** 7.1.0 -------------------- ### addListener('pushTokenGenerated', ...) ```typescript addListener(eventName: 'pushTokenGenerated', listenerFunc: MoEPushTokenListener) => Promise<PluginListenerHandle> & PluginListenerHandle ``` Listen for push token generated event | Param | Type | | ------------------ | --------------------------------------------------------------------- | | **`eventName`** | <code>'pushTokenGenerated'</code> | | **`listenerFunc`** | <code><a href="#moepushtokenlistener">MoEPushTokenListener</a></code> | **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt; & <a href="#pluginlistenerhandle">PluginListenerHandle</a></code> **Since:** 2.0.0 -------------------- ### addListener('pushClicked', ...) ```typescript addListener(eventName: 'pushClicked', listenerFunc: MoEPushClickListener) => Promise<PluginListenerHandle> & PluginListenerHandle ``` Listen for push clicked event | Param | Type | | ------------------ | --------------------------------------------------------------------- | | **`eventName`** | <code>'pushClicked'</code> | | **`listenerFunc`** | <code><a href="#moepushclicklistener">MoEPushClickListener</a></code> | **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt; & <a href="#pluginlistenerhandle">PluginListenerHandle</a></code> **Since:** 1.0.0 -------------------- ### addListener('inAppCampaignShown', ...) ```typescript addListener(eventName: 'inAppCampaignShown', listenerFunc: MoEInAppShownListener) => Promise<PluginListenerHandle> & PluginListenerHandle ``` Listen for in-app campaign shown event | Param | Type | | ------------------ | ----------------------------------------------------------------------- | | **`eventName`** | <code>'inAppCampaignShown'</code> | | **`listenerFunc`** | <code><a href="#moeinappshownlistener">MoEInAppShownListener</a></code> | **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt; & <a href="#pluginlistenerhandle">PluginListenerHandle</a></code> **Since:** 1.0.0 -------------------- ### addListener('inAppCampaignClicked', ...) ```typescript addListener(eventName: 'inAppCampaignClicked', listenerFunc: MoEInAppClickedListener) => Promise<PluginListenerHandle> & PluginListenerHandle ``` Listen for in-app campaign clicked event | Param | Type | | ------------------ | --------------------------------------------------------------------------- | | **`eventName`** | <code>'inAppCampaignClicked'</code> | | **`listenerFunc`** | <code><a href="#moeinappclickedlistener">MoEInAppClickedListener</a></code> | **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt; & <a href="#pluginlistenerhandle">PluginListenerHandle</a></code> **Since:** 1.0.0 -------------------- ### addListener('inAppCampaignDismissed', ...) ```typescript addListener(eventName: 'inAppCampaignDismissed', listenerFunc: MoEInAppDismissedListener) => Promise<PluginListenerHandle> & PluginListenerHandle ``` | Param | Type | | ------------------ | ------------------------------------------------------------------------------- | | **`eventName`** | <code>'inAppCampaignDismissed'</code> | | **`listenerFunc`** | <code><a href="#moeinappdismissedlistener">MoEInAppDismissedListener</a></code> | **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt; & <a href="#pluginlistenerhandle">PluginListenerHandle</a></code> -------------------- ### addListener('inAppCampaignCustomAction', ...) ```typescript addListener(eventName: 'inAppCampaignCustomAction', listenerFunc: MoEInAppCustomActionListener) => Promise<PluginListenerHandle> & PluginListenerHandle ``` Listen for in-app campaign custom action event | Param | Type | | ------------------ | ------------------------------------------------------------------------------------- | | **`eventName`** | <code>'inAppCampaignCustomAction'</code> | | **`listenerFunc`** | <code><a href="#moeinappcustomactionlistener">MoEInAppCustomActionListener</a></code> | **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt; & <a href="#pluginlistenerhandle">PluginListenerHandle</a></code> **Since:** 1.0.0 -------------------- ### addListener('inAppCampaignSelfHandled', ...) ```typescript addListener(eventName: 'inAppCampaignSelfHandled', listenerFunc: MoEInAppSelfHandledListener) => Promise<PluginListenerHandle> & PluginListenerHandle ``` Listen for in-app campaign self handled available event `getSelfHandledInApp()` api call returns the available self handled in-app via this listener. | Param | Type | | ------------------ | ----------------------------------------------------------------------------------- | | **`eventName`** | <code>'inAppCampaignSelfHandled'</code> | | **`listenerFunc`** | <code><a href="#moeinappselfhandledlistener">MoEInAppSelfHandledListener</a></code> | **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt; & <a href="#pluginlistenerhandle">PluginListenerHandle</a></code> **Since:** 1.0.0 -------------------- ### addListener('logoutCompleted', ...) ```typescript addListener(eventName: 'logoutCompleted', listenerFunc: MoELogoutCompleteListener) => Promise<PluginListenerHandle> & PluginListenerHandle ``` Listen for logout complete event | Param | Type | | ------------------ | ------------------------------------------------------------------------------- | | **`eventName`** | <code>'logoutCompleted'</code> | | **`listenerFunc`** | <code><a href="#moelogoutcompletelistener">MoELogoutCompleteListener</a></code> | **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt; & <a href="#pluginlistenerhandle">PluginListenerHandle</a></code> **Since:** 7.0.0 -------------------- ### addListener('authenticationError', ...) ```typescript addListener(eventName: 'authenticationError', listenerFunc: MoEAuthenticationErrorListener) => Promise<PluginListenerHandle> & PluginListenerHandle ``` Listen for authentication errors from the MoEngage SDK (e.g. JWT validation failures). | Param | Type | | ------------------ | ----------------------------------------------------------------------------------------- | | **`eventName`** | <code>'authenticationError'</code> | | **`listenerFunc`** | <code><a href="#moeauthenticationerrorlistener">MoEAuthenticationErrorListener</a></code> | **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt; & <a href="#pluginlistenerhandle">PluginListenerHandle</a></code> **Since:** 7.1.0 -------------------- ### enableAdIdTracking(...) ```typescript enableAdIdTracking(options: { appId: string; }) => Promise<void> ``` Enables GAID tracking, by default GAID tracking is disabled. | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Since:** 2.0.0 -------------------- ### disableAdIdTracking(...) ```typescript disableAdIdTracking(options: { appId: string; }) => Promise<void> ``` Disables GAID tracking. | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Since:** 2.0.0 -------------------- ### enableAndroidIdTracking(...) ```typescript enableAndroidIdTracking(options: { appId: string; }) => Promise<void> ``` Enables Android ID tracking, by default ANdroid ID tracking is disabled. | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Since:** 2.0.0 -------------------- ### disableAndroidIdTracking(...) ```typescript disableAndroidIdTracking(options: { appId: string; }) => Promise<void> ``` Disables Android ID tracking. | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Since:** 2.0.0 -------------------- ### setupNotificationChannelsAndroid() ```typescript setupNotificationChannelsAndroid() => Promise<void> ``` API to create notification channels on Android. **Since:** 2.0.0 -------------------- ### pushPermissionResponseAndroid(...) ```typescript pushPermissionResponseAndroid(options: { isGranted: boolean; }) => Promise<void> ``` Notify the SDK on notification permission granted to the application. | Param | Type | | ------------- | ------------------------------------ | | **`options`** | <code>{ isGranted: boolean; }</code> | **Since:** 2.0.0 -------------------- ### navigateToSettingsAndroid() ```typescript navigateToSettingsAndroid() => Promise<void> ``` Navigates the user to the Notification settings on Android 8 or above, on older versions the user is navigated the application settings or application info screen. -------------------- ### requestPushPermissionAndroid() ```typescript requestPushPermissionAndroid() => Promise<void> ``` Requests the push permission on Android 13 and above. -------------------- ### addListener('onPermissionResult', ...) ```typescript addListener(eventName: 'onPermissionResult', listenerFunc: MoEPermissionListener) => Promise<PluginListenerHandle> & PluginListenerHandle ``` Listen for permission response | Param | Type | | ------------------ | ----------------------------------------------------------------------- | | **`eventName`** | <code>'onPermissionResult'</code> | | **`listenerFunc`** | <code><a href="#moepermissionlistener">MoEPermissionListener</a></code> | **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt; & <a href="#pluginlistenerhandle">PluginListenerHandle</a></code> **Since:** 2.0.0 -------------------- ### enableDeviceIdTracking(...) ```typescript enableDeviceIdTracking(options: { appId: string; }) => Promise<void> ``` Enable Device-id tracking. It is enabled by default and should be called only if tracking is disabled at some point. | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | -------------------- ### disableDeviceIdTracking(...) ```typescript disableDeviceIdTracking(options: { appId: string; }) => Promise<void> ``` Disables Device-id tracking. | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | -------------------- ### updatePushPermissionRequestCountAndroid(...) ```typescript updatePushPermissionRequestCountAndroid(options: { appId: string; count: number; }) => Promise<void> ``` Updates the Notification request attempt count, the request attempt count will be incremented by the passed fresh count. NOTE: Call this API only when the Application is handling the Notification request permission. | Param | Type | | ------------- | ---------------------------------------------- | | **`options`** | <code>{ appId: string; count: number; }</code> | -------------------- ### deleteUser(...) ```typescript deleteUser(options: { appId: string; }, callback: MoEUserDeleteCallback) => Promise<void> ``` Delete Current User Data From MoEngage Server | Param | Type | Description | | -------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | | **`options`** | <code>{ appId: string; }</code> | | | **`callback`** | <code><a href="#moeuserdeletecallback">MoEUserDeleteCallback</a></code> | instance of {@link <a href="#moeuserdeletecallback">MoEUserDeleteCallback</a>} to get the API response | -------------------- ### showNudge(...) ```typescript showNudge(options: { position: MoENudgePosition; appId: string; }) => Promise<void> ``` Show Nudge | Param | Type | | ------------- | ------------------------------------------------------------------------------------------- | | **`options`** | <code>{ position: <a href="#moenudgeposition">MoENudgePosition</a>; appId: string; }</code> | -------------------- ### identifyUser(...) ```typescript identifyUser(options: { identity: string | { [key: string]: string; }; appId: string; }) => Promise<void> ``` Identify User | Param | Type | | ------------- | ------------------------------------------------------------------------------- | | **`options`** | <code>{ identity: string \| { [key: string]: string; }; appId: string; }</code> | **Since:** 7.0.0 -------------------- ### getUserIdentities(...) ```typescript getUserIdentities(options: { appId: string; }) => Promise<Map<String, String> | null> ``` Get User Identities | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Returns:** <code>Promise&lt;<a href="#map">Map</a>&lt;<a href="#string">String</a>, <a href="#string">String</a>&gt; | null&gt;</code> **Since:** 7.0.0 -------------------- ### getSelfHandledInApps(...) ```typescript getSelfHandledInApps(options: { appId: string; }) => Promise<MoEInAppSelfHandledCampaignsData> ``` Get Multiple self handled in-app campaigns | Param | Type | | ------------- | ------------------------------- | | **`options`** | <code>{ appId: string; }</code> | **Returns:** <code>Promise&lt;<a href="#moeinappselfhandledcampaignsdata">MoEInAppSelfHandledCampaignsData</a>&gt;</code> **Since:** 7.0.0 -------------------- ### registerForProvisionalPush() ```typescript registerForProvisionalPush() => Promise<void> ``` Register For Provisional Push Notifications for iOS **Since:** 7.0.0 -------------------- ### Interfaces #### MoEInitConfig | Prop | Type | Description | | --------------------- | ----------------------------------------------------------------- | --------------------- | | **`analyticsConfig`** | <code><a href="#moeanalyticsconfig">MoEAnalyticsConfig</a></code> | Analytics Config data | | **`pushConfig`** | <code><a href="#moepushconfig">MoEPushConfig</a></code> | Push Config data | #### MoEAnalyticsConfig | Prop | Type | Description | | --------------------------------------------- | -------------------- | ---------------------------------------------------------------------------- | | **`shouldTrackUserAttributeBooleanAsNumber`** | <code>boolean</code> | Status of whether boolean user attribute should be tracked as number or not. | #### MoEPushConfig | Prop | Type | Description | | -------------------------------------------- | -------------------- | --------------------------------------------------------------------------- | | **`shouldDeliverCallbackOnForegroundClick`** | <code>boolean</code> | Whether to deliver callback when push notification is clicked in foreground | #### MoEProperties User attributes object | Prop | Type | Description | | ------------------------ | --------------------------------------------------------------------------------------------------------- | ---------------------------- | | **`generalAttributes`** | <code><a href="#array">Array</a>&lt;<a href="#moegeneralattributes">MoEGeneralAttributes</a>&gt;</code> | General Attributes | | **`dateTimeAttributes`** | <code><a href="#array">Array</a>&lt;<a href="#moedatetimeattributes">MoEDateTimeAttributes</a>&gt;</code> | Location Attributes | | **`locationAttributes`** | <code><a href="#array">Array</a>&lt;<a href="#moelocationattributes">MoELocationAttributes</a>&gt;</code> | Date time Attributes | | **`isNonInteractive`** | <code>boolean</code> | Is the event non-interactive | #### Array | Prop | Type | Description | | ------------ | ------------------- | ------------------------------------------------------------------------------------------------------ | | **`length`** | <code>number</code> | Gets or sets the length of the array. This is a number one higher than the highest index in the array. | | Method | Signature | Description | | ------------------ | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **toString** | () =&gt; string | Returns a string representation of an array. | | **toLocaleString** | () =&gt; string | Returns a string representation of an array. The elements are converted to string using their toLocalString methods. | | **pop** | () =&gt; T \| undefined | Removes the last element from an array and returns it. If the array is empty, undefined is returned and the array is not modified. | | **push** | (...items: T[]) =&gt; number | Appends new elements to the end of an array, and returns the new length of the array. | | **concat** | (...items: <a href="#concatarray">ConcatArray</a>&lt;T&gt;[]) =&gt; T[] | Combines two or more arrays. This method returns a new array without modifying any existing arrays. | | **concat** | (...items: (T \| <a href="#concatarray">ConcatArray</a>&lt;T&gt;)[]) =&gt; T[] | Combines two or more arrays. This method returns a new array without modifying any existing arrays. | | **join** | (separator?: string \| undefined) =&gt; string | Adds all the elements of an array into a string, separated by the specified separator string. | | **reverse** | () =&gt; T[] | Reverses the elements in an array in place. This method mutates the array and returns a reference to the same array. | | **shift** | () =&gt; T \| undefined | Removes the first element from an array and returns it. If the array is empty, undefined is returned and the array is not modified. | | **slice** | (start?: number \| undefined, end?: number \| undefined) =&gt; T[] | Returns a copy of a section of an array. For both start and end, a negative index can be used to indicate an offset from the end of the array. For example, -2 refers to the second to last element of the array. | | **sort** | (compareFn?: ((a: T, b: T) =&gt; number) \| undefined) =&gt; this | Sorts an array in place. This method mutates the array and returns a reference to the same array. | | **splice** | (start: number, deleteCount?: number \| undefined) =&gt; T[] | Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. | | **splice** | (start: number, deleteCount: number, ...items: T[]) =&gt; T[] | Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. | | **unshift** | (...items: T[]) =&gt; number | Inserts new elements at the start of an array, and returns the new length of the array. | | **indexOf** | (searchElement: T, fromIndex?: number \| undefined) =&gt; number | Returns the index of the first occurrence of a value in an array, or -1 if it is not present. | | **lastIndexOf** | (searchElement: T, fromIndex?: number \| undefined) =&gt; number | Returns the index of the last occurrence of a specified value in an array, or -1 if it is not present. | | **every** | &lt;S extends T&gt;(predicate: (value: T, index: number, array: T[]) =&gt; value is S, thisArg?: any) =&gt; this is S[] | Determines whether all the members of an array satisfy the specified test. | | **every** | (predicate: (value: T, index: number, array: T[]) =&gt; unknown, thisArg?: any) =&gt; boolean | Determines whether all the members of an array satisfy the specified test. | | **some** | (predicate: (value: T, index: number, array: T[]) =&gt; unknown, thisArg?: any) =&gt; boolean | Determines whether the specified callback function returns true for any element of an array. | | **forEach** | (callbackfn: (value: T, index: number, array: T[]) =&gt; void, thisArg?: any) =&gt; void | Performs the specified action for each element in an array. | | **map** | &lt;U&gt;(callbackfn: (value: T, index: number, array: T[]) =&gt; U, thisArg?: any) =&gt; U[] | Calls a defined callback function on each element of an array, and returns an array that contains the results. | | **filter** | &lt;S extends T&gt;(predicate: (value: T, index: number, array: T[]) =&gt; value is S, thisArg?: any) =&gt; S[] | Returns the elements of an array that meet the condition specified in a callback function. | | **filter** | (predicate: (value: T, index: number, array: T[]) =&gt; unknown, thisArg?: any) =&gt; T[] | Returns the elements of an array that meet the condition specified in a callback function. | | **reduce** | (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) =&gt; T) =&gt; T | Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. | | **reduce** | (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) =&gt; T, initialValue: T) =&gt; T | | | **reduce** | &lt;U&gt;(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) =&gt; U, initialValue: U) =&gt; U | Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. | | **reduceRight** | (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) =&gt; T) =&gt; T | Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. | | **reduceRight** | (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) =&gt; T, initialValue: T) =&gt; T | | | **reduceRight** | &lt;U&gt;(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) =&gt; U, initialValue: U) =&gt; U | Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. | #### ConcatArray | Prop | Type | | ------------ | ------------------- | | **`length`** | <code>number</code> | | Method | Signature | | --------- | ------------------------------------------------------------------ | | **join** | (separator?: string \| undefined) =&gt; string | | **slice** | (start?: number \| undefined, end?: number \| undefined) =&gt; T[] | #### MoEGeneralAttributes General Attributes for tracking events |