Version 3.x
Version 2.x
Capture Behavior Data
Post Data from an Authenticated Server-to-Server Connection
Post Data from an Unauthenticated Server-to-Server Connection
The Data 360 Module for the Engagement Mobile SDK enables collection of profile data through the SDK’s Identity APIs.
Before engagement data can be sent to Data 360:
1import Cdp
2import SFMCSDK
3
4...
5
6let profileAttributes = [
7 "email": "user@domain.com",
8 "username": "user01"
9]
10SFMCSdk.identity.setProfileAttributes([.cdp: profileAttributes])1import com.salesforce.marketingcloud.sfmcsdk.SFMCSdk
2import com.salesforce.marketingcloud.sfmcsdk.modules.ModuleIdentifier.CDP
3
4...
5
6val profileAttributes = mapOf(
7 "email" to "user@domain.com",
8 "username" to "user01"
9)
10SFMCSdk.requestSdk { sdk ->
11 sdk.identity.setProfileAttributes(profileAttributes, CDP)
12}When a profile attribute changes, the Data 360 Module triggers an identity profile event containing all set attributes. You can set any name-value pair for profile attributes.
The Identity Schema provided by the recommended Mobile Connector schema for Data 360 contains profile attributes that support identity resolution features when mapped to the appropriate Customer 360 Data Model.
Each identity event contains mappable fields.
firstNamelastNameregistrationIdsoftwareApplicationNameadvertiserIddeviceTypeosNameregistrationIdStarting with Android 13 (API level 33), permission is required to request the device’s advertiserId. In Data 360 2.0.2, this permission is included by default. To prevent this permission from getting merged into your app, add this element to your AndroidManifest.xml:
1<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>Each supported contact point has required attributes that must be provided to the SDK’s Identity API. After all attributes are provided, the Data 360 Module triggers a profile event with contact points and an identity event.
The contact points and required attributes that trigger them are:
emailphoneNumberaddressLine1citypostalCodestateProvincecountryIn the Data 360 Module, all customers are considered known by default. To mark a customer as anonymous, set the isAnonymous profile attribute to "1". Setting isAnonymous to "0" ensures customers are considered known.
1import Cdp
2import SFMCSDK
3
4...
5
6// treat a profile as anonymous
7SFMCSdk.identity.setProfileAttributes([.cdp: ["isAnonymous": "1"]])
8// or use this convenience function
9CdpModule.shared.setProfileToAnonymous()
10
11// treat a profile as known
12SFMCSdk.identity.setProfileAttributes([.cdp: ["isAnonymous": "0"]])
13// or use this convenience function
14CdpModule.shared.setProfileToKnown()1// treat a profile as anonymous
2SFMCSdk.requestSdk { sdk ->
3 sdk.identity.setProfileAttribute("isAnonymous", "1", CDP)
4}
5
6// treat a profile as known
7SFMCSdk.requestSdk { sdk ->
8 sdk.identity.setProfileAttribute("isAnonymous", "0", CDP)
9}The Engagement Mobile SDK supports sharing identifiers between modules for integration with other Salesforce systems. For example, match an individual using a mobile application with both Data 360 and MobilePush modules to send push notifications to specific anonymous mobile users.
The identity event contains fields that can be mapped to the Party Identification model.
registrationId: Identification NumberWhen the MobilePush module obtains a resolved identity for a mobile customer, it sets a profileId using the SDK’s Identity API. The Data Cloud Module is notified and sends a partyIdentification event with these fields:
userId: Identification NumberIDName: Party Identification NameIDType: Party Identification Type