Edit in GitHubLog an issue

If using Gradle, remove the v4 Mobile SDK dependency:

Gradle

Copied to your clipboard
dependencies {
implementation 'com.adobe.mobile:adobeMobileLibrary:4.18.2'
...
}

Alternatively, if the v4 Mobile SDK library is linked as a jar, search for adobeMobileLibrary in your project and remove the jar file.

If using Cocoapods, remove the v4 Mobile SDK dependency from the Podfile:

Copied to your clipboard
target 'YourTarget' do
pod 'AdobeMobileSDK'
...
end

Alternatively, if the v4 Mobile SDK library is linked in Xcode, select the application target and go to Build Phases, then Link Binary With Libraries and remove AdobeMobileLibrary.a.

Java

Copied to your clipboard
import com.adobe.marketing.mobile.MobileCore;
import com.adobe.marketing.mobile.Analytics;
import com.adobe.marketing.mobile.Identity;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MobileCore.setApplication(getApplication());
MobileCore.registerExtensions(Arrays.asList(
Analytics.EXTENSION,
Identity.EXTENSION
), value -> {
// add your Environment file ID from Environments tab in Data Collection tags.
MobileCore.configureWithAppID("your-environment-file-id");
});
}

Swift

Copied to your clipboard
import AEPCore
import AEPIdentity
import AEPAnalytics
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
MobileCore.registerExtensions([Analytics.self, Identity.self], {
// Use the environment file id assigned to this application in Data Collection UI
MobileCore.configureWith(appId: "your-environment-file-id")
})
return true
}

Objective-C

Copied to your clipboard
// AppDelegate.h
@import AEPCore;
@import AEPIdentity;
@import AEPAnalytics;
// AppDelegate.m
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[AEPMobileCore registerExtensions:@[AEPMobileAnalytics.class, AEPMobileIdentity.class] completion:^{
// Use the environment file id assigned to this application in Data Collection UI
[AEPMobileCore configureWithAppId: @"your-environment-file-id"];
}];
return YES;
}

Java

The Adobe Mobile Library (v4) syntax and usage examples for these API are:

Copied to your clipboard
// syntax
public static void trackState(final String state, final Map<String, Object> contextData)
// usage
Analytics.trackState("MainPage", new HashMap<String, Object>() {{
put("firstVisit", true);
}});
Copied to your clipboard
// syntax
public static void trackAction(final String action, final Map<String, Object> contextData)
// usage
Analytics.trackAction("linkClicked", new HashMap<String, Object>() {{
put("url", "https://www.adobe.com");
}});

Objective-C

The Adobe Mobile Library (v4) syntax and usage examples for these API are:

Copied to your clipboard
// syntax
+ (void) trackState:(NSString *)state data:(NSDictionary *)data;
// usage
[ADBMobile trackState:@"MainPage" data:@{@"firstVisit":@true}];
Copied to your clipboard
// syntax
+ (void) trackAction:(NSString *)action data:(NSDictionary *)data;
// usage
[ADBMobile trackAction:@"linkClicked" data:@{@"url":@"https://www.adobe.com"}];

The Mobile SDKs have moved the trackAction and trackState APIs to the MobileCore extension. In addition, the context data Map has been changed from <String, Object> to <String, String>. The syntax is:

Java

Copied to your clipboard
// syntax
public static void trackState(final String state, final Map<String, String> contextData)
// usage
MobileCore.trackState("MainPage", new HashMap<String, String>() {{
put("firstVisit", "true");
}});
Copied to your clipboard
// syntax
public static void trackAction(final String action, final Map<String, String> contextData)
// usage
MobileCore.trackAction("linkClicked", new HashMap<String, String>() {{
put("url", "https://www.adobe.com");
}});

The Mobile SDKs have moved the trackAction and trackState APIs to the MobileCore extension. The syntax is:

Copied to your clipboard
@objc(trackAction:data:)
static func track(action: String?, data: [String: Any]?)
Copied to your clipboard
@objc(trackState:data:)
static func track(state: String?, data: [String: Any]?)

The usage examples are:

Swift

Copied to your clipboard
MobileCore.track(state: "MainPage", data: ["firstVisit": "true"])
MobileCore.track(action: "linkClicked", data: ["url": "https://www.adobe.com"])

Objective-C

Copied to your clipboard
[AEPMobileCore trackState:@"MainPage" data:@{@"firstVisit":@"true"}];
[AEPMobileCore trackAction:@"linkClicked" data:@{@"url":@"https://www.adobe.com"}];

Java

The usage example for the setPrivacyStatus API is:

Copied to your clipboard
MobileCore.setPrivacyStatus(MobilePrivacyStatus.OPT_IN);
MobileCore.setPrivacyStatus(MobilePrivacyStatus.OPT_OUT);
MobileCore.setPrivacyStatus(MobilePrivacyStatus.UNKNOWN);

The usage example for the getPrivacyStatus API is:

Copied to your clipboard
MobileCore.getPrivacyStatus(new AdobeCallback<MobilePrivacyStatus>() {
@Override
public void call(MobilePrivacyStatus status) {
// handle current privacy status
}
});

The usage example for getPrivacyStatus is:

Swift

Copied to your clipboard
MobileCore.getPrivacyStatus(completion: ({ status in
// handle current privacy status
switch status {
case PrivacyStatus.optedIn: print("Privacy Status: Opt-In")
case PrivacyStatus.optedOut: print("Privacy Status: Opt-Out")
case PrivacyStatus.unknown: print("Privacy Status: Unknown")
default: break
}
})

Objective-C

Copied to your clipboard
[AEPMobileCore getPrivacyStatus:^(AEPPrivacyStatus status) {
switch (status) {
case AEPPrivacyStatusOptedIn: NSLog(@"Privacy Status: Opt-In");
case AEPPrivacyStatusOptedOut: NSLog(@"Privacy Status: Opt-Out");
case AEPPrivacyStatusUnknown: NSLog(@"Privacy Status: Unknown");
default: break;
}
}];
Was this helpful?
  • Privacy
  • Terms of Use
  • Do not sell or share my personal information
  • AdChoices
Copyright © 2025 Adobe. All rights reserved.