Configuration API reference
This API is only available in Android and iOS (AEP 3.x).
You can clear any programmatic updates made to the configuration via the
clearUpdatedConfiguration
API. This will clear programmatic updates to configuration made via the updateConfiguration(configMap)
(Android)/ updateConfigurationWith(configDict:)
(iOS) API. It will also clear any updates to the MobilePrivacyStatus
(Android)/ PrivacyStatus
(iOS) made via setPrivacyStatus(privacyStatus)
(Android)/ setPrivacyStatus(_ status:)
(iOS).Here are some examples of scenarios:
configureWithAppId(appId)
(Android)/configureWith(appId:)
(iOS) ->updateConfiguration(configMap)
(Android)/updateConfigurationWith(configDict:)
(iOS) ->clearUpdatedConfiguration()
: In this example, you end up with the initial configuration set viaconfigureWithAppId(appId)
(Android)/configureWith(appId:)
(iOS)configureWithFileInPath(filePath)
(Android)/configureWith(filePath:)
(iOS) ->updateConfiguration(configMap)
(Android)/updateConfigurationWith(configDict)
(iOS) ->clearUpdatedConfiguration()
: In this example, you end up with the initial configuration set viaconfigureWithFileInPath(filePath)
(Android)/configureWith(filePath:)
(iOS)configureWithFileInAssets(fileName)
(Android) ->updateConfiguration(configMap)
(Android) ->clearUpdatedConfiguration()
: In this example, you end up with the initial configuration set viaconfigureWithFileInAssets(fileName)
(Android)configureWithAppId(appId)
(Android)/configureWith(appId:)
(iOS) orconfigureWithFileInPath(filePath)
(Android)/configureWith(filePath:)
(iOS) orconfigureWithFileInAssets(fileName)
(Android) ->updateConfiguration(configMap)
(Android)/updateConfigurationWith(configDict)
(iOS) ->clearUpdatedConfiguration()
->updateConfiguration(configMap)
(Android)/updateConfigurationWith(configDict)
(iOS): In this example, the configuration will be the most recently updated configuration and will not have any keys from the first update unless they are included in the most recent update.configureWithAppId(appId)
(Android)/configureWith(appId:)
(iOS) orconfigureWithFileInPath(filePath)
(Android)/configureWith(filePath:)
(iOS) orconfigureWithFileInAssets(fileName)
(Android) ->setPrivacyStatus(privacyStatus)
(Android)/setPrivacyStatus(_ status:)
(iOS) ->clearUpdatedConfiguration()
: In this example, the configuration will have the initialMobilePrivacyStatus
(Android)/PrivacyStatus
(iOS) set viaconfigureWithAppId(appId)
(Android)/configureWith(appId:)
(iOS) orconfigureWithFileInPath(filePath)
(Android)/configureWith(filePath:)
(iOS) orconfigureWithFileInAssets(fileName)
(Android).
Android
iOS (AEP 3.x)
This API causes the SDK to download the configuration for the provided app ID and apply the configuration to the current session.
Android
iOS (AEP 3.x)
iOS (ACP 2.x)
Unity
Xamarin
This API is only available in Android and was added in Android was added in Android Core version 1.7.0.
You can bundle a JSON configuration file in the app's Assets folder to replace or complement the configuration that was downloaded by using the Configure with App ID per environment approach.
You can include a bundled JSON configuration file in your app package to replace or complement the configuration that was downloaded by using the Configure with App ID per environment approach.
To pass in a bundled path and file name:
Android
iOS (AEP 3.x)
iOS (ACP 2.x)
Xamarin
Syntax
static func configureWith(filePath: String)
Example
let filePath = Bundle.main.path(forResource: "ExampleJSONFile", ofType: "json")
MobileCore.configureWith(filePath: filePath)
Syntax
+ (void) configureWithFileInPath: (NSString* __nullable) filepath;
Example
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"ExampleJSONFile" ofType:@"json"];
[AEPMobileCore configureWithFilePath:filePath];
Syntax
static func configureWithFile(inPath: String)
Example
let filePath = Bundle.main.path(forResource: "ExampleJSONFile", ofType: "json")
ACPCore.configureWithFile(inPath: filePath)
Syntax
+ (void) configureWithFileInPath: (NSString* __nullable) filepath;
Example
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"ExampleJSONFile"ofType:@"json"];
[ACPCore configureWithFileInPath:filePath];
The
extensionVersion()
API returns the version of the Configuration extension.To get the version of the Configuration extension, use the following code sample:
Android
iOS (AEP 3.x)
iOS (ACP 2.x)
React Native
Flutter
Cordova
Unity
Xamarin
Java
String coreExtensionVersion = MobileCore.extensionVersion();
Swift
let version = MobileCore.extensionVersion
Objective C
NSString *version = [AEPMobileCore extensionVersion];
Objective C
NSString *coreExtensionVersion = [ACPCore extensionVersion];
Swift
let coreExtensionVersion = ACPCore.extensionVersion()
You can also update the configuration programmatically by passing configuration keys and values to override the existing configuration.
Keys that are not found on the current configuration are added when this method is followed. Null values are allowed and replace existing configuration values.
Do not use this API to update the
build.environment
key or any key with an environment prefix, because it can lead to unexpected behaviors. For more information, read Environment-aware configuration properties.Android
iOS (AEP 3.x)
iOS (ACP 2.x)
React Native
Flutter
Cordova
Unity
Xamarin
Syntax
@objc(updateConfiguration:)
static func updateConfigurationWith(configDict: [String: Any])
Example
let updatedConfig = ["global.privacy":"optedout"]
MobileCore.updateConfigurationWith(configDict: updatedConfig)
Syntax
+ (void) updateConfiguration: (NSDictionary* __nullable) config;
Example
NSDictionary *updatedConfig = @{@"global.privacy":@"optedout"};
[AEPMobileCore updateConfiguration:updatedConfig];
Syntax
static func updateConfiguration(_: [String: Any])
Example
let updatedConfig = ["global.privacy":"optedout"]
ACPCore.updateConfiguration(updatedConfig)
Syntax
+ (void) updateConfiguration: (NSDictionary* __nullable) config;
Example
NSDictionary *updatedConfig = @{@"global.privacy":@"optedout"};
[ACPCore updateConfiguration:updatedConfig];
Syntax
void UpdateConfiguration([NullAllowed] NSDictionary config);
iOS Example
var config = new NSMutableDictionary<NSString, NSObject>
{
["newConfigKey"] = new NSString("newConfigValue")
};
ACPCore.UpdateConfiguration(config);
Android Example
var config = new Dictionary<string, Java.Lang.Object>();
config.Add("newConfigKey", "newConfigValue");
ACPCore.UpdateConfiguration(config);
Last modified 4mo ago