---
schema_version: "1"
id: d967b8d997512b20d70bdff1dbff20aeca49ee887f61d3e8829b71f241342545
title: Get Started with Engagement Mobile SDK
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/guides/engagement-mobile-sdk/intro-engagement-mobile-sdk.md
canonical_url: https://developer.salesforce.com/docs/marketing/engagement-mobile-sdk/guide/intro-engagement-mobile-sdk.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 91c9170e27d5da743612d9fc102751d4d064131a6bec630873f9b77764c1a4c2
products:
  - Engagement Mobile SDK
  - Marketing Cloud
---
# Get Started with Engagement Mobile SDK

Engagement Mobile SDK is a framework designed to allow future enhancements to performance, developer experience, functionality, and troubleshooting. Formerly known as Mobile SDK, it now unites two modules, MobilePush and Salesforce Data Cloud. This evolutionary step is more modular and extensible, allowing you to choose the specific functionality that you need.

By using a single set of SDK methods and sharing Analytics and Identity, your implementation is streamlined across Salesforce. Events tracked within MobilePush can be used in Salesforce Data Cloud, and vice versa. The SDK also supports Template events, which are predefined schemas that you can implement to track your customers’ actions in your app. Use them to trigger in-app messages, and enter a customer into a Journey based on their activity within your mobile app.

## Prerequisites

- Android requires a minimum API version of 21
- iOS requires a minimum deployment target of 10.0

## Implementation

- For the MobilePush Module, see:
  - [Marketing Cloud Engagement SDK Android](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-Android/)
  - [Marketing Cloud Engagement SDK iOS](https://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/)
- For the Salesforce Data Cloud Module, see [Engagement Mobile SDK](https://developer.salesforce.com/docs/atlas.en-us.c360a_api.meta/c360a_api/c360a_api_engagement_mobile_sdk.htm).

### Considerations for Implementing Both MobilePush and Data Cloud Modules

If implementing both the MobilePush and Data Cloud modules, there are a few considerations while implementing the SDK during the initialization, and device and contact registration.

**Initialization**

From MobilePush v8.0.0 onwards, if you're also implementing the Data Cloud module, add the `cdpModuleConfig` along with the `pushModuleConfig` in the configure method.

Android code example

```javascript
fun initSalesforce(context: Context, pushConfig: MarketingCloudConfig, cdpConfig: CdpConfig) {
  SFMCSdk.configure(context, SFMCSdkModuleConfig.build {
    pushModuleConfig = pushConfig
    cdpModuleConfig = cdpConfig
  }) {
    // success/failure
  }
}
```

iOS code example

```javascript
func initSalesforce(pushConfig: PushConfig, cdpConfig: CdpConfig) {

    SFMCSdk.initializeSdk(ConfigBuilder()
        .setPush(config: pushConfig, onCompletion: { result in
        // success/failure
    })
        .setCdp(config: pushConfig, onCompletion: {result in
        // success/failure
    })
    .build())
}
```

**Device and Contact Registration**

From MobilePush v8.0.0 onwards, if you're also implementing the Data Cloud module, add the specific module information to the `setProfileID` and `setProfileAttribute` methods.

Android code sample

```js
fun updateIdentity(user: User) {
  SFMCSdk.requestSdk {
    // explicitly set the profile for both PUSH & Data Cloud (CDP)
    it.identity.setProfile(user.email, user.favorites, ModuleIdentifier.PUSH, ModuleIdentifier.CDP)
  }
}
```

iOS code sample

```js
func updateIdentity(email: String) {
    SFMCSdk.identity.setProfileId(email, [.cdp, .push])
}
```

<!-- Leaving this heading out for now, as there are no questions given by the PM -->
<!-- ### FAQ -->

## See Also

- [Salesforce Help: Mobile Push](https://help.salesforce.com/s/articleView?id=mktg.mc_mp_mobilepush.htm)
