Identity for Edge Network
The Identity for Edge Network mobile extension enables identity management, including the Experience Cloud ID (ECID), from your mobile app when using the Adobe Experience Platform Mobile SDK and the Edge Network extension.
Use the Identity for Edge Network extension when including the Edge Network extension into an application. The Identity for Edge Network extension is not used with Adobe Solution extensions, which must use the Identity for Experience Cloud ID Service extension.
Configure the Identity extension in the Data Collection UI
- In Data Collection UI, in your mobile property, select the Extensions tab.
- On the Catalog tab, locate or search for the Identity extension, and select Install.
- There are no configuration settings for Identity.
- Select Save.
- Follow the publishing process to update SDK configuration.
Add the Identity extension to your app
Download and import the Identity extension
The following instructions are for configuring an application using Adobe Experience Platform Edge mobile extensions. If an application will include both Edge Network and Adobe Solution extensions, both the Identity for Edge Network and Identity for Experience Cloud ID Service extensions are required. Find more details in the frequently asked questions.
When using the setAdvertisingIdentifier
API, see the setup guide for Consent for Edge Network for instructions on setting up the extension and profile schema for proper usage.
- Add the Mobile Core and Edge extensions to your project using the app's Gradle file.
Kotlin
Copied to your clipboardimplementation(platform("com.adobe.marketing.mobile:sdk-bom:3.+"))implementation("com.adobe.marketing.mobile:core")implementation("com.adobe.marketing.mobile:edge")implementation("com.adobe.marketing.mobile:edgeidentity")
Groovy
Copied to your clipboardimplementation platform('com.adobe.marketing.mobile:sdk-bom:3.+')implementation 'com.adobe.marketing.mobile:core'implementation 'com.adobe.marketing.mobile:edge'implementation 'com.adobe.marketing.mobile:edgeidentity'
Using dynamic dependency versions is not recommended for production apps. Please read the managing Gradle dependencies guide for more information.
- Import the Mobile Core and Edge extensions in your Application class.
Copied to your clipboardimport com.adobe.marketing.mobile.MobileCore;import com.adobe.marketing.mobile.Edge;import com.adobe.marketing.mobile.edge.identity.Identity;
- Add the Mobile Core and Edge extensions to your project using CocoaPods. Add following pods in your
Podfile
:
Copied to your clipboarduse_frameworks!target 'YourTargetApp' dopod 'AEPCore', '~> 5.0'pod 'AEPEdge', '~> 5.0'pod 'AEPEdgeIdentity', '~> 5.0'pod 'AEPEdgeConsent', '~> 5.0' // Recommended when using the setAdvertisingIdentifier APIend
- Import the Mobile Core and Edge libraries:
Swift
Copied to your clipboard// AppDelegate.swiftimport AEPCoreimport AEPEdgeimport AEPEdgeIdentityimport AEPEdgeConsent
Objective-C
Copied to your clipboard// AppDelegate.h@import AEPCore;@import AEPEdge;@import AEPEdgeIdentity;@import AEPEdgeConsent;
- Add the Mobile Core and Edge extensions to your project using the app's Gradle file.
Kotlin
Copied to your clipboardimplementation(platform("com.adobe.marketing.mobile:sdk-bom:3.+"))implementation("com.adobe.marketing.mobile:core")implementation("com.adobe.marketing.mobile:edge")implementation("com.adobe.marketing.mobile:edgeidentity")
Groovy
Copied to your clipboardimplementation platform('com.adobe.marketing.mobile:sdk-bom:3.+')implementation 'com.adobe.marketing.mobile:core'implementation 'com.adobe.marketing.mobile:edge'implementation 'com.adobe.marketing.mobile:edgeidentity'
Using dynamic dependency versions is not recommended for production apps. Please read the managing Gradle dependencies guide for more information.
- Import the Mobile Core and Edge extensions in your Application class.
Copied to your clipboardimport com.adobe.marketing.mobile.MobileCore;import com.adobe.marketing.mobile.Edge;import com.adobe.marketing.mobile.edge.identity.Identity;
- Add the Mobile Core and Edge extensions to your project using CocoaPods. Add following pods in your
Podfile
:
Copied to your clipboarduse_frameworks!target 'YourTargetApp' dopod 'AEPCore', '~> 5.0'pod 'AEPEdge', '~> 5.0'pod 'AEPEdgeIdentity', '~> 5.0'pod 'AEPEdgeConsent', '~> 5.0' // Recommended when using the setAdvertisingIdentifier APIend
- Import the Mobile Core and Edge libraries:
Swift
Copied to your clipboard// AppDelegate.swiftimport AEPCoreimport AEPEdgeimport AEPEdgeIdentityimport AEPEdgeConsent
Objective-C
Copied to your clipboard// AppDelegate.h@import AEPCore;@import AEPEdge;@import AEPEdgeIdentity;@import AEPEdgeConsent;
Register the Identity extension with Mobile Core
Java
Copied to your clipboardpublic class MobileApp extends Application {// Set up the preferred Environment File ID from your mobile property configured in Data Collection UIprivate final String ENVIRONMENT_FILE_ID = "";@Overridepublic void onCreate() {super.onCreate();MobileCore.setApplication(this);MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID);// Register Adobe Experience Platform SDK extensionsMobileCore.registerExtensions(Arrays.asList(Edge.EXTENSION, Identity.EXTENSION),o -> Log.debug("MobileApp", "MobileApp", "Adobe Experience Platform Mobile SDK initialized."));}}
Kotlin
Copied to your clipboardclass MobileApp : Application() {// Set up the preferred Environment File ID from your mobile property configured in Data Collection UIprivate var ENVIRONMENT_FILE_ID: String = ""override fun onCreate() {super.onCreate()MobileCore.setApplication(this)MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID)// Register Adobe Experience Platform SDK extensionsMobileCore.registerExtensions(listOf(Edge.EXTENSION, Identity.EXTENSION)) {Log.debug("MobileApp", "MobileApp", "Adobe Experience Platform Mobile SDK initialized.")}}}
Swift
Copied to your clipboard// AppDelegate.swiftfunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {MobileCore.registerExtensions([Identity.self, Consent.self, Edge.self], {MobileCore.configureWith(appId: "yourAppId")})...}
Objective-C
Copied to your clipboard// AppDelegate.m- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {[AEPMobileCore registerExtensions:@[AEPMobileEdgeIdentity.class, AEPMobileEdgeConsent.class, AEPMobileEdge.class] completion:^{...}];[AEPMobileCore configureWithAppId: @"yourAppId"];...}
Java
Copied to your clipboardpublic class MobileApp extends Application {// Set up the preferred Environment File ID from your mobile property configured in Data Collection UIprivate final String ENVIRONMENT_FILE_ID = "";@Overridepublic void onCreate() {super.onCreate();MobileCore.setApplication(this);MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID);// Register Adobe Experience Platform SDK extensionsMobileCore.registerExtensions(Arrays.asList(Edge.EXTENSION, Identity.EXTENSION),o -> Log.debug("MobileApp", "MobileApp", "Adobe Experience Platform Mobile SDK initialized."));}}
Kotlin
Copied to your clipboardclass MobileApp : Application() {// Set up the preferred Environment File ID from your mobile property configured in Data Collection UIprivate var ENVIRONMENT_FILE_ID: String = ""override fun onCreate() {super.onCreate()MobileCore.setApplication(this)MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID)// Register Adobe Experience Platform SDK extensionsMobileCore.registerExtensions(listOf(Edge.EXTENSION, Identity.EXTENSION)) {Log.debug("MobileApp", "MobileApp", "Adobe Experience Platform Mobile SDK initialized.")}}}
Swift
Copied to your clipboard// AppDelegate.swiftfunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {MobileCore.registerExtensions([Identity.self, Consent.self, Edge.self], {MobileCore.configureWith(appId: "yourAppId")})...}
Objective-C
Copied to your clipboard// AppDelegate.m- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {[AEPMobileCore registerExtensions:@[AEPMobileEdgeIdentity.class, AEPMobileEdgeConsent.class, AEPMobileEdge.class] completion:^{...}];[AEPMobileCore configureWithAppId: @"yourAppId"];...}
Advertising identifier
The Identity for Edge Network extension compares the previously stored advertising identifier value with the new value received from the setAdvertisingIdentifier
API and handles the following scenarios:
Ad tracking enabled - when the new value sent to the API is:
- A valid UUID string (example:
"a127a99e-50be-4d87-bf6f-6ab9541c105b"
)
Process:
- Updates the client side XDM
IdentityMap
with the new value for IDFA/GAID, which is included in subsequent XDM Experience events. For more details, see the standard Identity namespaces. - Sends a consent update event with ad ID consent preferences set to
yes
(only when a valid ad ID is absent from theIdentityMap
and the Edge Consent extension is registered and properly configured).
Ad tracking disabled - Given a valid ad ID already exists in the IdentityMap
, and the new value sent to the API is:
null
/nil
- Empty string (
""
) - All-zeros string (
"00000000-0000-0000-0000-000000000000"
)
Process:
- Removes the ad ID from the client side XDM
IdentityMap
, which is removed from subsequent XDM Experience events. - Sends a consent update event with ad ID consent preferences set to
no
(only when the Edge Consent extension is registered and properly configured).
No operations are executed when no changes are detected between the previously stored and new ad ID value.