capacitor-moengage-core
Version:
MoEngage is a mobile marketing automation company. This capacitor SDK helps you track events, trigger smart notifications.
1,152 lines (720 loc) • 76 kB
Markdown
# 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)
* [`addListener('pushTokenGenerated', ...)`](#addlistenerpushtokengenerated-)
* [`addListener('pushClicked', ...)`](#addlistenerpushclicked-)
* [`addListener('inAppCampaignShown', ...)`](#addlistenerinappcampaignshown-)
* [`addListener('inAppCampaignClicked', ...)`](#addlistenerinappcampaignclicked-)
* [`addListener('inAppCampaignDismissed', ...)`](#addlistenerinappcampaigndismissed-)
* [`addListener('inAppCampaignCustomAction', ...)`](#addlistenerinappcampaigncustomaction-)
* [`addListener('inAppCampaignSelfHandled', ...)`](#addlistenerinappcampaignselfhandled-)
* [`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)
* [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; }) => Promise<void>
```
Initialise MoEngage Capacitor Plugin
| Param | Type |
| ------------- | --------------------------------------------------------------------------------------- |
| **`options`** | <code>{ appId: string; initConfig: <a href="#moeinitconfig">MoEInitConfig</a>; }</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
--------------------
### 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<<a href="#pluginlistenerhandle">PluginListenerHandle</a>> & <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<<a href="#pluginlistenerhandle">PluginListenerHandle</a>> & <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<<a href="#pluginlistenerhandle">PluginListenerHandle</a>> & <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<<a href="#pluginlistenerhandle">PluginListenerHandle</a>> & <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<<a href="#pluginlistenerhandle">PluginListenerHandle</a>> & <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<<a href="#pluginlistenerhandle">PluginListenerHandle</a>> & <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<<a href="#pluginlistenerhandle">PluginListenerHandle</a>> & <a href="#pluginlistenerhandle">PluginListenerHandle</a></code>
**Since:** 1.0.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<<a href="#pluginlistenerhandle">PluginListenerHandle</a>> & <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> |
--------------------
### Interfaces
#### MoEInitConfig
| Prop | Type | Description |
| --------------------- | ----------------------------------------------------------------- | --------------------- |
| **`analyticsConfig`** | <code><a href="#moeanalyticsconfig">MoEAnalyticsConfig</a></code> | Analytics Config data |
#### MoEAnalyticsConfig
| Prop | Type | Description |
| --------------------------------------------- | -------------------- | ---------------------------------------------------------------------------- |
| **`shouldTrackUserAttributeBooleanAsNumber`** | <code>boolean</code> | Status of whether boolean user attribute should be tracked as number or not. |
#### MoEProperties
User attributes object
| Prop | Type | Description |
| ------------------------ | --------------------------------------------------------------------------------------------------------- | ---------------------------- |
| **`generalAttributes`** | <code><a href="#array">Array</a><<a href="#moegeneralattributes">MoEGeneralAttributes</a>></code> | General Attributes |
| **`dateTimeAttributes`** | <code><a href="#array">Array</a><<a href="#moedatetimeattributes">MoEDateTimeAttributes</a>></code> | Location Attributes |
| **`locationAttributes`** | <code><a href="#array">Array</a><<a href="#moelocationattributes">MoELocationAttributes</a>></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** | () => string | Returns a string representation of an array. |
| **toLocaleString** | () => string | Returns a string representation of an array. The elements are converted to string using their toLocalString methods. |
| **pop** | () => 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[]) => 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><T>[]) => 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><T>)[]) => T[] | Combines two or more arrays. This method returns a new array without modifying any existing arrays. |
| **join** | (separator?: string \| undefined) => string | Adds all the elements of an array into a string, separated by the specified separator string. |
| **reverse** | () => T[] | Reverses the elements in an array in place. This method mutates the array and returns a reference to the same array. |
| **shift** | () => 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) => 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) => number) \| undefined) => 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) => 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[]) => T[] | Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. |
| **unshift** | (...items: T[]) => number | Inserts new elements at the start of an array, and returns the new length of the array. |
| **indexOf** | (searchElement: T, fromIndex?: number \| undefined) => 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) => number | Returns the index of the last occurrence of a specified value in an array, or -1 if it is not present. |
| **every** | <S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any) => this is S[] | Determines whether all the members of an array satisfy the specified test. |
| **every** | (predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean | Determines whether all the members of an array satisfy the specified test. |
| **some** | (predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean | Determines whether the specified callback function returns true for any element of an array. |
| **forEach** | (callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void | Performs the specified action for each element in an array. |
| **map** | <U>(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] | Calls a defined callback function on each element of an array, and returns an array that contains the results. |
| **filter** | <S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any) => S[] | Returns the elements of an array that meet the condition specified in a callback function. |
| **filter** | (predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => 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[]) => T) => 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[]) => T, initialValue: T) => T | |
| **reduce** | <U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U) => 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[]) => T) => 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[]) => T, initialValue: T) => T | |
| **reduceRight** | <U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U) => 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) => string |
| **slice** | (start?: number \| undefined, end?: number \| undefined) => T[] |
#### MoEGeneralAttributes
General Attributes for tracking events
| Prop | Type |
| ----------- | ---------------------------------------------------------------- |
| **`name`** | <code>string</code> |
| **`value`** | <code>string \| number \| boolean \| string[] \| number[]</code> |
#### MoEDateTimeAttributes
Date and time attribute object
| Prop | Type | Description |
| ----------- | ------------------- | ------------------------------------------------------------- |
| **`name`** | <code>string</code> | Date and time attribute name |
| **`value`** | <code>string</code> | Attribute value in ISO8601 format [yyyy-MM-dd'T'HH:mm:ss'Z']. |
#### MoELocationAttributes
Location attribute object
| Prop | Type | Description |
| ----------- | --------------------------------------------------------- | ------------------------- |
| **`name`** | <code>string</code> | Location Attribute name |
| **`value`** | <code><a href="#moegeolocation">MoEGeoLocation</a></code> | Location attribute value. |
#### MoEGeoLocation
Location object
| Prop | Type |
| --------------- | ------------------- |
| **`latitude`** | <code>number</code> |
| **`longitude`** | <code>number</code> |
#### MoEInAppSelfHandledCampaignData
Data for self handled campaign.
| Prop | Type | Description |
| ------------------ | ----------------------------------------------------------------------------------- | -------------------- |
| **`accountMeta`** | <code><a href="#moeaccountmeta">MoEAccountMeta</a></code> | Account information |
| **`campaignData`** | <code><a href="#moeinappcampaigndata">MoEInAppCampaignData</a></code> | In-App Campaign data |
| **`selfHandled`** | <code><a href="#moeinappselfhandledcampaign">MoEInAppSelfHandledCampaign</a></code> | SelfHandled data |
#### MoEAccountMeta
Account <a href="#object">Object</a>
| Prop | Type | Description |
| ----------- | ------------------- | ------------------ |
| **`appId`** | <code>string</code> | Account identifier |
#### MoEInAppCampaignData
Campaign data.
| Prop | Type | Description |
| --------------------- | --------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| **`campaignId`** | <code>string</code> | Unique Identifier for the campaign |
| **`campaignName`** | <code>string</code> | Name given to the campaign while creation on the MoEngage Dashboard. |
| **`campaignContext`** | <code><a href="#moeinappcampaigncontext">MoEInAppCampaignContext</a></code> | Additional Meta data related to the campaign. |
#### MoEInAppCampaignContext
Additional Meta data related to the campaign.
| Prop | Type | Description |
| ------------------------- | --------------------------------------------------------- | --------------------------------------------- |
| **`formattedCampaignId`** | <code>string</code> | Formatted Campaign Id |
| **`attributes`** | <code><a href="#map">Map</a><string, object></code> | Additional Meta data related to the campaign. |
#### Map
| Prop | Type |
| ---------- | ------------------- |
| **`size`** | <code>number</code> |
| Method | Signature |
| ----------- | -------------------------------------------------------------------------------------------------------------- |
| **clear** | () => void |
| **delete** | (key: K) => boolean |
| **forEach** | (callbackfn: (value: V, key: K, map: <a href="#map">Map</a><K, V>) => void, thisArg?: any) => void |
| **get** | (key: K) => V \| undefined |
| **has** | (key: K) => boolean |
| **set** | (key: K, value: V) => this |
#### MoEInAppSelfHandledCampaign
Self Handled campaign object
| Prop | Type | Description