---
schema_version: "1"
id: 28cb598e8e30c2ad5dd6ef9bcec051ede96e3c0d73e7f91f4089265aaad84a1c
title: Marketing Cloud Engagement SDK
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud-mobilepush/engagement_sdk/references/react-hybrid/marketing-cloud-engagement-sdk.md
canonical_url: https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/marketing-cloud-engagement-sdk.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 6b8e1f477c6bc1eae06c5d63493e39895336fea3b59e38103d7c19fe734ffabc
products:
  - Salesforce Engagement SDK
---
# Marketing Cloud Engagement SDK

This section provides API reference details for the Marketing Cloud Engagement SDK module in React Native unified plugin.

## refreshInbox

Requests an updated list of inbox messages from the Marketing Cloud servers.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.refreshInbox();
```

### Returns

- `Promise<boolean>` - Indicates whether the refresh request succeeded.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
await mc.refreshInbox();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/refresh-inbox.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)refreshMessages>)

## getAllMessages

Retrieves active inbox messages, including read and unread messages that are not deleted.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.getAllMessages();
```

### Returns

- `Promise<InboxMessage[]>` - A promise that resolves to the array of inbox messages.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi, InboxMessage } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const allMsgs: InboxMessage[] = await mc.getAllMessages();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-messages.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getAllMessages>)

## getUnreadMessages

Retrieves active unread inbox messages that are not deleted.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.getUnreadMessages();
```

### Returns

- `Promise<InboxMessage[]>` - A promise that resolves to unread inbox messages.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi, InboxMessage } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const unreadMsgs: InboxMessage[] = await mc.getUnreadMessages();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-unread-messages.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getUnreadMessages>)

## getReadMessages

Retrieves active read inbox messages that are not deleted.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.getReadMessages();
```

### Returns

- `Promise<InboxMessage[]>` - A promise that resolves to read inbox messages.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi, InboxMessage } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const readMsgs: InboxMessage[] = await mc.getReadMessages();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-read-messages.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getReadMessages>)

## getDeletedMessages

Retrieves active deleted inbox messages.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.getDeletedMessages();
```

### Returns

- `Promise<InboxMessage[]>` - A promise that resolves to deleted inbox messages.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi, InboxMessage } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const deletedMsgs: InboxMessage[] = await mc.getDeletedMessages();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-deleted-messages.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getDeletedMessages>)

## getMessageCount

Retrieves the total number of inbox messages that are not deleted.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.getMessageCount();
```

### Returns

- `Promise<number>` - A promise that resolves to the message count.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const totalCount = await mc.getMessageCount();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-message-count.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getAllMessagesCount>)

## getUnreadMessageCount

Retrieves the total number of unread inbox messages that are not deleted.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.getUnreadMessageCount();
```

### Returns

- `Promise<number>` - A promise that resolves to the unread message count.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const unreadCount = await mc.getUnreadMessageCount();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-unread-message-count.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getUnreadMessagesCount>)

## getReadMessageCount

Retrieves the total number of read inbox messages that are not deleted.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.getReadMessageCount();
```

### Returns

- `Promise<number>` - A promise that resolves to the read message count.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const readCount = await mc.getReadMessageCount();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-read-message-count.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getReadMessagesCount>)

## getDeletedMessageCount

Retrieves the total number of deleted inbox messages.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.getDeletedMessageCount();
```

### Returns

- `Promise<number>` - A promise that resolves to the deleted message count.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const deletedCount = await mc.getDeletedMessageCount();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/get-deleted-message-count.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)getDeletedMessagesCount>)

## markMessageRead

Marks an inbox message as read in local storage.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.markMessageRead(messageId);
```

### Parameters

| Parameter   | Type     | Description                           |
| ----------- | -------- | ------------------------------------- |
| `messageId` | `string` | The inbox message ID to mark as read. |

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.markMessageRead("message-id");
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/set-message-read.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)markMessageWithIdReadWithMessageId:>)

## markMessageDeleted

Marks an inbox message as deleted in local storage.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.markMessageDeleted(messageId);
```

### Parameters

| Parameter   | Type     | Description                              |
| ----------- | -------- | ---------------------------------------- |
| `messageId` | `string` | The inbox message ID to mark as deleted. |

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.markMessageDeleted("message-id");
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/delete-message.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)markMessageWithIdDeletedWithMessageId:>)

## markAllMessagesRead

Marks all active unread inbox messages as read.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.markAllMessagesRead();
```

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.markAllMessagesRead();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/mark-all-messages-read.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)markAllMessagesRead>)

## markAllMessagesDeleted

Marks all active inbox messages as deleted.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.markAllMessagesDeleted();
```

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.markAllMessagesDeleted();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.messages.inbox/-inbox-message-manager/mark-all-messages-deleted.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)markAllMessagesDeleted>)

## trackInboxMessageOpened

Tracks an inbox message-open event for analytics.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.trackInboxMessageOpened(message);
```

### Parameters

| Parameter | Type           | Description                                                                                  |
| --------- | -------------- | -------------------------------------------------------------------------------------------- |
| `message` | `InboxMessage` | The inbox message to track as opened. Include the message object returned by the inbox APIs. |

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi, InboxMessage } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const message: InboxMessage = { id: "message-id", read: false, deleted: false };
mc.trackInboxMessageOpened(message);
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/track-inbox-open-event.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)trackMessageOpened:>)

## addTag

Adds a tag to the registration tag list.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.addTag(tag);
```

### Parameters

| Parameter | Type     | Description                                                                                              |
| --------- | -------- | -------------------------------------------------------------------------------------------------------- |
| `tag`     | `string` | The tag to add to the registration tag list. Use a meaningful segmentation value, such as `beta-tester`. |

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.addTag("beta-tester");
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/-editor/add-tag.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)addTag:>)

## addTags

Adds multiple tags to the registration tag list.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.addTags(tags);
```

### Parameters

| Parameter | Type       | Description                                                                                  |
| --------- | ---------- | -------------------------------------------------------------------------------------------- |
| `tags`    | `string[]` | The tags to add to the registration tag list. Each array value is a segmentation tag string. |

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.addTags(["beta-tester", "vip-user"]);
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/-editor/add-tags.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)addTags:>)

## removeTag

Removes a tag from the registration tag list.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.removeTag(tag);
```

### Parameters

| Parameter | Type     | Description                                                                                      |
| --------- | -------- | ------------------------------------------------------------------------------------------------ |
| `tag`     | `string` | The tag to remove from the registration tag list. Use the exact tag value that is currently set. |

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.removeTag("beta-tester");
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/-editor/remove-tag.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)removeTag:>)

## removeTags

Removes multiple tags from the registration tag list.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.removeTags(tags);
```

### Parameters

| Parameter | Type       | Description                                                                                         |
| --------- | ---------- | --------------------------------------------------------------------------------------------------- |
| `tags`    | `string[]` | The tags to remove from the registration tag list. Each array value must match a currently set tag. |

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.removeTags(["beta-tester", "vip-user"]);
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/-editor/remove-tags.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)removeTag:>)

## getTags

Returns the tags currently set on the device.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.getTags();
```

### Returns

- `Promise<string[]>` - A promise that resolves to tags currently set in the native SDK.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const tags = await mc.getTags();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/get-tags.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)tags>)

## getAttributes

Returns all attributes currently set in the device registration profile.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.getAttributes();
```

### Parameters

None.

### Returns

- `Promise<object>` - Object containing all attributes.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const attributes = await mc.getAttributes();
```

## enablePiAnalytics

Enables Predictive Intelligence analytics in the Marketing Cloud SDK.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.enablePiAnalytics();
```

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.enablePiAnalytics();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/enable-pi-analytics.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setPiAnalyticsEnabled:>)

## disablePiAnalytics

Disables Predictive Intelligence analytics in the Marketing Cloud SDK.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.disablePiAnalytics();
```

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.disablePiAnalytics();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/disable-pi-analytics.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setPiAnalyticsEnabled:>)

## isPiAnalyticsEnabled

Checks whether Predictive Intelligence analytics is enabled.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.isPiAnalyticsEnabled();
```

### Returns

- `Promise<boolean>` - A promise that resolves to whether PI analytics is enabled.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const piEnabled = await mc.isPiAnalyticsEnabled();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/are-pi-analytics-enabled.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)isPiAnalyticsEnabled>)

## enableAnalytics

Enables analytics in the Marketing Cloud SDK.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.enableAnalytics();
```

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.enableAnalytics();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/enable-analytics.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setAnalyticsEnabled:>)

## disableAnalytics

Disables analytics in the Marketing Cloud SDK.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.disableAnalytics();
```

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.disableAnalytics();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/disable-analytics.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setAnalyticsEnabled:>)

## isAnalyticsEnabled

Checks whether analytics is enabled in the Marketing Cloud SDK.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.isAnalyticsEnabled();
```

### Returns

- `Promise<boolean>` - A promise that resolves to whether analytics is enabled.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const analyticsEnabled = await mc.isAnalyticsEnabled();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.analytics/-analytics-manager/are-analytics-enabled.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)isAnalyticsEnabled>)

## getDeviceId

Returns the device ID that Marketing Cloud uses for push messaging.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.getDeviceId();
```

### Returns

- `Promise<string \| null>` - A promise that resolves to the device ID, or `null`.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const deviceId = await mc.getDeviceId();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/get-device-id.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)deviceIdentifier>)

## getContactKey

Returns the contact key currently set for the device user.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.getContactKey();
```

### Parameters

None.

### Returns

- `Promise<string \| null>` - Contact key, or `null`.

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
const contactKey = await mc.getContactKey();
```

## enableLogging

Enables verbose logging in the native Marketing Cloud SDK.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.enableLogging();
```

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.enableLogging();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sfmcsdk/com.salesforce.marketingcloud.sfmcsdk.components.logging/-log-level/index.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setDebugLoggingEnabled:>)

## disableLogging

Disables verbose logging in the native Marketing Cloud SDK.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.disableLogging();
```

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.disableLogging();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sfmcsdk/com.salesforce.marketingcloud.sfmcsdk.components.logging/-log-level/index.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setDebugLoggingEnabled:>)

## setRegistrationCallback

Registers a callback to receive registration change events from the SDK.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.setRegistrationCallback();
```

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.setRegistrationCallback();

const sub = MarketingCloudSdkModule.getEmitter().addListener(
  "sfmc_mc_registration",
  (registration) => {
    console.log("MC registration changed:", registration);
  },
);

sub.remove();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/register-for-registration-events.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)setRegistrationCallback:>)

## unsetRegistrationCallback

Unregisters the registration change callback.

### Syntax

```javascript
MarketingCloudEngagementSdkModule.unsetRegistrationCallback();
```

### Returns

- `void`

### Example

```javascript
import { MarketingCloudSdkModule } from "@sfmc/react-native-marketingcloudsdk";
import type { MCApi } from "@sfmc/react-native-marketingcloudsdk";

const mc: MCApi = await MarketingCloudSdkModule.requestSdk();
mc.unsetRegistrationCallback();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/sdk/com.salesforce.marketingcloud.registration/-registration-manager/unregister-for-registration-events.html)
- [iOS SDK Reference](https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/%3Chttps://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/appledocs/MarketingCloudSdk/11.0/Classes/MarketingCloudSdk.html#/c:@CM@MarketingCloudSDK@objc(cs)SFMarketingCloudSdk(im)unsetRegistrationCallback>)
