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.
- Select or clear Optimize syncing operational profile data. The setting is selected by default. For details, see Optimize syncing operational profile data.
- Select Save.
- Follow the publishing process to update SDK configuration.
Optimize syncing operational profile data
Identity Tags extension version 2.1.1 adds Optimize syncing operational profile data. The setting saves the boolean edgeidentity.optimizeOperationalProfileDataSync configuration key. The Tags UI selects the setting by default.
When the setting is selected, the SDK sends the timezone, push token and Live Activity push-to-start tokens only when they change. Other operational values are sent on every sync. When the setting is cleared, the SDK sends every value on every sync.
Mobile SDK configuration APIs
You can also set the key from your app with the MobileCore.updateConfiguration API:
true, the timezone, push token and Live Activity push-to-start tokens are sent only when they change. When false, every value is sent on every sync. The Tags UI selects this setting by default.Android
val config = mapOf("edgeidentity.optimizeOperationalProfileDataSync" to false)
MobileCore.updateConfiguration(config)
iOS
let config = ["edgeidentity.optimizeOperationalProfileDataSync": false]
MobileCore.updateConfigurationWith(configDict: config)
Sync operational data to the Edge Network
Use the Sync Operational Data event and the Forward Operational Data to Edge Network action together. The rule decides which operational data the SDK sends to the Edge Network, independent of collect consent.
Operational data sync requires these SDK versions or later. Older SDKs ignore the configuration key, event and action.
- Android: Mobile Core 3.11.0, Edge Network 3.2.0 and Identity for Edge Network 3.2.0, included in Android BOM 3.25.0.
- iOS: Mobile Core 5.13.0, Edge Network 5.3.0 and Identity for Edge Network 5.2.0. Live Activity tokens also need Adobe Journey Optimizer 5.18.0.
Sync Operational Data rule event
Identity Tags extension version 2.1.1 adds Sync Operational Data under the Attributes event category in the rule builder. Select Identity as the event extension, then select Sync Operational Data. The event has no additional configuration.
The SDK triggers this event when your app calls updateOperationalData (Android, iOS). On iOS, the Adobe Journey Optimizer extension also triggers it with Live Activity tokens.
Forward Operational Data to Edge Network
Identity Tags extension version 2.1.1 adds Forward Operational Data to Edge Network. The action says: "Forwards the selected operational data to the Edge Network. App ID and platform are always included."
- Add the Sync Operational Data event to your rule.
- Add an action, select Identity, then select Forward Operational Data to Edge Network.
- Select the fields to forward:
- Save the action and include the updated rule and extension revisions in your library.
The SDK sends only the selected fields. Saving with no fields selected is valid.
Add the Identity For Edge Network extension to your app
data-variant=info
data-slots=text
data-variant=info
data-slots=text
setAdvertisingIdentifier API, see the setup guide for Consent for Edge Network for instructions on setting up the extension and profile schema for proper usage.Include Identity extension as an app dependency
Add MobileCore, Edge, EdgeIdentity 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:edge")
implementation("com.adobe.marketing.mobile:edgeidentity")
data-variant=warning
data-slots=text
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:edge'
implementation 'com.adobe.marketing.mobile:edgeidentity'
data-variant=warning
data-slots=text
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 'AEPEdge', '~> 5.0'
pod 'AEPEdgeIdentity', '~> 5.0'
pod 'AEPEdgeConsent', '~> 5.0' // Recommended when using the setAdvertisingIdentifier API
end
Initialize Adobe Experience Platform SDK with Identity for Edge Network 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
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
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
// 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
// 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
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
IdentityMapwith 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 theIdentityMapand 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.