The Configuration extension is built into the Mobile Core extension. With its APIs, you generate the necessary events in the Event Hub that provide the configuration options for all installed extensions.
{% hint style="info" %} This feature is only available in iOS ACPCore version 2.0.3 or later. {% endhint %}
Some extension developers might use different configuration values based on the working environment. In this case, the generated configuration might have several entries for the same property. For example, the Adobe Campaign Standard extension has different endpoints for development, staging, and production servers. Here is an example of a raw configuration that supports multiple build environments:
{
"myExtension.server": "mydomain.com",
"__dev__myExtension.server": "mydomain.dev.com",
"__stage__myExtension.server": "mydomain.stage.com"
}
{% hint style="success" %}
Each time a remote configuration is generated by Launch, a build.environment
value is set. This value is based on the environment that you are publishing. When the remote configuration is downloaded, the Configuration extension considers the value in build.environment
and provides only the non-prefixed version for the current environment in the shared state.
{% endhint %}
Here is a modification of the previous example, which now includes build.environment
:
{
"build.environment": "dev",
"myExtension.server": "mydomain.com",
"__dev__myExtension.server": "mydomain.dev.com",
"__stage__myExtension.server": "mydomain.stage.com"
}
Here is the resulting shared state from Configuration:
{
"build.environment": "dev",
"myExtension.server": "mydomain.dev.com"
}
Here's a sample JSON file for the SDK:
{
"experienceCloud.org": "3CE342C75100435B0A490D4C@AdobeOrg",
"target.clientCode": "yourclientcode",
"target.timeout": 5,
"audience.server": "omniture.demdex.net",
"audience.timeout": 5,
"analytics.rsids": "mobilersidsample",
"analytics.server": "obumobile1.sc.omtrdc.net",
"analytics.aamForwardingEnabled": false,
"analytics.offlineEnabled": true,
"analytics.batchLimit": 0,
"analytics.backdatePreviousSessionInfo": false,
"global.privacy": "optedin",
"lifecycle.sessionTimeout": 300,
"rules.url": "https://link.to.rules/test.zip"
}