Performance

Build time

As instant run is not currently supported it is expected that builds will take longer as a full build will be required when a change is made as opposed to just building the changed bits. We are aware of this limitation and we may consider addressing it in future releases.

Development build times can be improved by disabling Orchestration until the feature is ready for QA. Disabling Orchestration will allow developers to turn on instant run. Disabling Orchestration does not remove the ability to use the SDK in Admin Mode, it disables the identity transfer and last click attribution features, thus allowing developers to still interact with the Medallia Experience Orchestration SDK.

If this is desired, we recommend conditionally applying the Orchestration Plugin via a Gradle project property argument. Set a Gradle property to true for Release Builds in CI and false for development or local developer builds.Read this property in the app build.gradle (example shown below) to accomplish this. Gradle properties are passed via the -P command line idiom and can have a default value by being placed in the root gradle.properties file.

Set the following to false in your root gradle.properties in order to not orchestrate the app while developing.

enableMXOOrchestration = false

Place the following in the app-level build.gradle file.

if (project.hasProperty("enableMXOOrchestration") && project.getProperty("enableMXOOrchestration") == "true") {
	apply plugin: 'com.medallia.mxo-android-sdk-orchestration-gradle-plugin'
}

Then the full build with Orchestration enabled can be executed by passing a project property to the Gradle build.

./gradlew clean assemble -PenableMXOOrchestration=true

For more information on Gradle project properties, see Gradle's documentation.