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.