---
schema_version: "1"
id: cc9efebb792ea7209b10888aad9b65fbf2049f6db0e5f01da834ca0ab950a795
title: Marketing Cloud Mobile App Messaging 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-mobile-app-messaging-sdk.md
canonical_url: https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/marketing-cloud-mobile-app-messaging-sdk.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: c32b5be4dc4b22304a6c7393d6e5d577c3abc23f9923b6102a72a3e2dfef0019
products:
  - Salesforce Engagement SDK
---
# Marketing Cloud Mobile App Messaging SDK

This section provides API reference details for the Marketing Cloud Mobile App Messaging SDK module in React Native unified plugin.

## getDeviceId

Returns the device ID that Mobile App Messaging uses to identify the device.

### Syntax

```javascript
MobileAppMessagingSdkModule.getDeviceId();
```

### Returns

- `Promise<string \| null>` - A promise that resolves to the device ID, or `null`.

### Example

```javascript
import { MobileAppMessagingModule } from "@sfmc/react-native-mobileappmessaging";
import type { MAMApi } from "@sfmc/react-native-mobileappmessaging";

const mam: MAMApi = await MobileAppMessagingModule.requestSdk();
const deviceId = await mam.getDeviceId();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/mobileappmessaging/com.salesforce.marketingcloud.mobileappmessaging.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/MAMSdk/2.0/Classes/MobileAppMessaging.html#/c:@CM@MobileAppMessagingSDK@objc(cs)SFMobileAppMessaging(im)deviceIdentifier>)

## enableAnalytics

Enables analytics in the Mobile App Messaging SDK.

### Syntax

```javascript
MobileAppMessagingSdkModule.enableAnalytics();
```

### Returns

- `void`

### Example

```javascript
import { MobileAppMessagingModule } from "@sfmc/react-native-mobileappmessaging";
import type { MAMApi } from "@sfmc/react-native-mobileappmessaging";

const mam: MAMApi = await MobileAppMessagingModule.requestSdk();
mam.enableAnalytics();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/mobileappmessaging/com.salesforce.marketingcloud.mobileappmessaging.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/MAMSdk/2.0/Classes/MobileAppMessaging.html#/c:@CM@MobileAppMessagingSDK@objc(cs)SFMobileAppMessaging(im)setAnalyticsEnabled:>)

## disableAnalytics

Disables analytics in the Mobile App Messaging SDK.

### Syntax

```javascript
MobileAppMessagingSdkModule.disableAnalytics();
```

### Returns

- `void`

### Example

```javascript
import { MobileAppMessagingModule } from "@sfmc/react-native-mobileappmessaging";
import type { MAMApi } from "@sfmc/react-native-mobileappmessaging";

const mam: MAMApi = await MobileAppMessagingModule.requestSdk();
mam.disableAnalytics();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/mobileappmessaging/com.salesforce.marketingcloud.mobileappmessaging.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/MAMSdk/2.0/Classes/MobileAppMessaging.html#/c:@CM@MobileAppMessagingSDK@objc(cs)SFMobileAppMessaging(im)setAnalyticsEnabled:>)

## isAnalyticsEnabled

Checks whether analytics is enabled in the Mobile App Messaging SDK.

### Syntax

```javascript
MobileAppMessagingSdkModule.isAnalyticsEnabled();
```

### Returns

- `Promise<boolean>` - A promise that resolves to whether analytics is enabled.

### Example

```javascript
import { MobileAppMessagingModule } from "@sfmc/react-native-mobileappmessaging";
import type { MAMApi } from "@sfmc/react-native-mobileappmessaging";

const mam: MAMApi = await MobileAppMessagingModule.requestSdk();
const enabled = await mam.isAnalyticsEnabled();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/mobileappmessaging/com.salesforce.marketingcloud.mobileappmessaging.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/MAMSdk/2.0/Classes/MobileAppMessaging.html#/c:@CM@MobileAppMessagingSDK@objc(cs)SFMobileAppMessaging(im)isAnalyticsEnabled>)

## setRegistrationCallback

Registers a callback to receive registration change events from the SDK.

### Syntax

```javascript
MobileAppMessagingSdkModule.setRegistrationCallback();
```

### Returns

- `void`

### Example

```javascript
import { MobileAppMessagingModule } from "@sfmc/react-native-mobileappmessaging";
import type { MAMApi } from "@sfmc/react-native-mobileappmessaging";

const mam: MAMApi = await MobileAppMessagingModule.requestSdk();
mam.setRegistrationCallback();

const sub = MobileAppMessagingModule.getEmitter().addListener(
  "sfmc_mam_registration",
  (registration) => {
    console.log("MAM registration changed:", registration);
  },
);

sub.remove();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/mobileappmessaging/com.salesforce.marketingcloud.mobileappmessaging.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/MAMSdk/2.0/Classes/MobileAppMessaging.html#/c:@CM@MobileAppMessagingSDK@objc(cs)SFMobileAppMessaging(im)setRegistrationCallback:>)

## unsetRegistrationCallback

Unregisters the registration change callback.

### Syntax

```javascript
MobileAppMessagingSdkModule.unsetRegistrationCallback();
```

### Returns

- `void`

### Example

```javascript
import { MobileAppMessagingModule } from "@sfmc/react-native-mobileappmessaging";
import type { MAMApi } from "@sfmc/react-native-mobileappmessaging";

const mam: MAMApi = await MobileAppMessagingModule.requestSdk();
mam.unsetRegistrationCallback();
```

### See Also

- [Android SDK Reference](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/javadocs/SFMCSdk/11.0/mobileappmessaging/com.salesforce.marketingcloud.mobileappmessaging.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/MAMSdk/2.0/Classes/MobileAppMessaging.html#/c:@CM@MobileAppMessagingSDK@objc(cs)SFMobileAppMessaging(im)unsetRegistrationCallback>)
