If you want to make a change to the first view of your app for first-time experiment participants, it's possible Apptimize is not able to download the necessary resources in time which can result in a low participation rate. If users do not receive the experiment information in time, Apptimize will not enter them into an experiment. To ensure that users are selected to participate, simply add a small delay to the app's start-up process using the following APIs.
This delay sets a maximum time for your app to wait for Apptimize data to be loaded onto the device. For example if it is set to 800 milliseconds, your app will wait at most 800 milliseconds for Apptimize data. If your user is on a reliable connection, that user might get Apptimize data within 100 milliseconds which means your app only blocks for those 100 milliseconds. If Apptimize data doesn't arrive within those 800 milliseconds, your app will then continue without it.
For Visual experiments, you can add ApptimizeDelayUntilTestsAreAvailable with a number value in milliseconds to yourInfo.plist file. You can also use the waitForTestToBecomeAvailable API call on the loading screen or App Delegate.
For Programmatic experiments (code block or dynamic variable), use the ApptimizeUpdateMetadataTimeoutOption function to set a delay where necessary.
For Visual experiments, we currently don't offer a non-coding solution for adding in a delay.
For Programmatic experiments, use the setUpdateMetadataTimeout ApptimizeOption during initialization to set a delay.
We recommend an 800 millisecond delay for experiments without heavy resources (e.g. images). If your experiment does include images to be shown as soon as the app opens, we recommend also factoring in how long it might take to download those resources.
More details are available in our API Reference docs.