Identity

The Identity for Experience Cloud ID Service extension enables your app with the Experience Cloud ID (ECID). This service helps with the synchronization of Adobe and other customer identifiers.

Include the Identity extension in your application when using any of the following Adobe Solution extensions:

If your application uses the Edge Network extension, then it must include the Identity for Edge Network extension. The Identity for Edge Network extension does not replace the Identity for Experience Cloud ID Service extension and both may be required in an application. See the FAQ for more information.

When using third party extensions, check with the extension developer to understand if the Identity extension is a required dependency.

data-variant=warning
data-slots=text
On web or other platforms, there might situations where this extension might not be required, and the implementation of this SDK extension on mobile apps is required.

To get started with Identity, complete the following steps:

  1. Add the Identity extension to your app.

  2. Implement the SDK APIs to complete the following tasks:

    • Update customer IDs.
    • Append Adobe visitor data to a URL string.
    • Return customer IDs.
    • Retrieve Experience Cloud IDs.
    • Set advertising IDs.
    • Set the device notification for push notifications.

Add the Identity extension to your app

Include Identity extension as an app dependency

Add Identity extensions as dependencies to your project.

Android Kotlin

Add the required dependencies to your project by including them in the app's Gradle file.

implementation(platform("com.adobe.marketing.mobile:sdk-bom:3.+"))
implementation("com.adobe.marketing.mobile:core")
implementation("com.adobe.marketing.mobile:identity")
data-variant=warning
data-slots=text
Using dynamic dependency versions is not recommended for production apps. Please read the managing Gradle dependencies guide for more information.

Android Groovy

Add the required dependencies to your project by including them in the app's Gradle file.

implementation platform('com.adobe.marketing.mobile:sdk-bom:3.+')
implementation 'com.adobe.marketing.mobile:core'
implementation 'com.adobe.marketing.mobile:identity'
data-variant=warning
data-slots=text
Using dynamic dependency versions is not recommended for production apps. Please read the managing Gradle dependencies guide for more information.

iOS CocoaPods

Add the required dependencies to your project using CocoaPods. Add following pods in your Podfile:

use_frameworks!
target 'YourTargetApp' do
    pod 'AEPCore', '~> 5.0'
    pod 'AEPIdentity', '~> 5.0'
end

Initialize Adobe Experience Platform SDK with Identity Extension

Next, initialize the SDK by registering all the solution extensions that have been added as dependencies to your project with Mobile Core. For detailed instructions, refer to the initialization section of the getting started page.

Using the MobileCore.initialize API to initialize the Adobe Experience Platform Mobile SDK simplifies the process by automatically registering solution extensions and enabling lifecycle tracking.

Android Kotlin

data-variant=warning
data-slots=text
This API is available starting from Android BOM version 3.8.0.
import com.adobe.marketing.mobile.LoggingMode
import com.adobe.marketing.mobile.MobileCore
...
import android.app.Application
...

class MainApp : Application() {
  override fun onCreate() {
    super.onCreate()
    MobileCore.setLogLevel(LoggingMode.DEBUG)
    MobileCore.initialize(this, "ENVIRONMENT_ID")
  }
}

Android Java

data-variant=warning
data-slots=text
This API is available starting from Android BOM version 3.8.0.
import com.adobe.marketing.mobile.LoggingMode;
import com.adobe.marketing.mobile.MobileCore;
...
import android.app.Application;
...
public class MainApp extends Application {
  @Override
  public void onCreate(){
    super.onCreate();
    MobileCore.setLogLevel(LoggingMode.DEBUG);
    MobileCore.initialize(this, "ENVIRONMENT_ID");
  }
}

iOS Swift

data-variant=warning
data-slots=text
This API is available starting from iOS version 5.4.0.
// AppDelegate.swift
import AEPCore
import AEPServices
...

final class AppDelegate: NSObject, UIApplicationDelegate {
  func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
    MobileCore.setLogLevel(.debug)
    MobileCore.initialize(appId: "ENVIRONMENT_ID")
    ...
  }
}

iOS Objective-C

data-variant=warning
data-slots=text
This API is available starting from iOS version 5.4.0.
// AppDelegate.m
#import "AppDelegate.h"
@import AEPCore;
@import AEPServices;
...
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [AEPMobileCore setLogLevel: AEPLogLevelDebug];  
  [AEPMobileCore initializeWithAppId:@"ENVIRONMENT_ID" completion:^{
      NSLog(@"AEP Mobile SDK is initialized");
  }];
  ...
  return YES;
}
@end
data-variant=info
data-slots=text
Previously known as MCID/MID/MCMID, the Experience Cloud ID (ECID) is a 38 character ID that uniquely identifies each visitor in the Adobe Experience Platform.

After the configuration is complete, an ECID is generated and, where applicable, is included on all Analytics and Audience Manager hits. Other IDs, such as custom and automatically-generated IDs, continue to be sent with each hit.