Skip to main content

We are currently experiencing an issue that is preventing customers from submitting support tickets. Please contact us at (866) 819-4486 if you need immediate assistance.

x
Optimizely Knowledge Base

Mobile: Frequently Asked Questions

We've compiled a list of frequently asked questions around implementing Optimizely's iOS SDK and testing native apps on mobile devices. Click a question to jump to its answer within this article!

What features are included in Optimizely's iOS SDK?

Optimizely's Web and iOS experiments leverage the same interface, CDN, backend, results and reporting. Testing on iOS and Web share many of the same business problems and Optimizely makes it possible to solve these shared problems in one unified place. 
 
Optimizely for iOS includes the following features: For creating variations:
  • Code-free visual changes
  • Live variables
  • Code blocks
  • Staged feature rollouts
Goal tracking:
  • Unlimited goals
  • Taps: Tracks whether a certain view is tapped
  • Views: Tracks whether a certain view appears
  • Revenue: Tracks revenue from purchases or events. For more information on setting up a revenue guide check out our revenue goal guide
  • Custom goal: For more information on setting up a custom goal, check out our custom goals guide
  • Session goals: For more information about session goals, see our Mobile Session Goals guide.

What features are included in Optimizely's Android SDK?

Optimizely's Web and Android experiments leverage the same interface, CDN, backend, results and reporting. Testing on Android and Web share many of the same business problems and Optimizely makes it possible to solve these shared problems in one unified place. 

Optimizely's for Android includes the following features:

Create Variations:

  • Code-free visual changes
  • Live variables
  • Code blocks
  • Staged feature rollouts

Goal Tracking:

  • Unlimited goals
  • Taps: Tracks whether a certain view is tapped
  • Views: Tracks whether a certain view appears
  • Revenue: Tracks revenue from purchases or events. For more information on setting up a revenue guide check out our revenue goal guide
  • Custom goal: For more information on setting up a custom goal, check out our custom goals guide
  • Session goals: For more information about session goals, see our Mobile Session Goals guide.

How does Optimizely work on Mobile?

The first step is to install the Optimizely SDK (software development kit) in your app. Then log into Optimizely's web application and you can immediately create experiments that modify the app's experience without writing any new code.

Once the app with the Optimizely SDK is submitted to the App Store or Play Store, you can run experiments and collect data, and even create new experiments, without re-submitting to the App or Play Store.

For more advanced experiments that change application variables or introduce new features, a developer can prepare those in advance via Code Blocks and Live Variables. Once these changes are submitted to the App Store or Play Store, your Optimizely experiments will be able to control and evaluate the experimental variables and features once the app is live.

If you'd like to get started, take a look into our developer documentation for iOS and Android respectively!

What version of iOS is supported by the Optimizely iOS SDK?

Optimizely currently supports apps that are built for Apple iOS 7.0 and higher.

What version of Android is supported by the Android SDK?

Optimizely currently supports apps that are built for Android AP 14 (Ice Cream Sandwich) and above.

Does Optimizely have Swift support?

Optimizely supports Visual Changes and Live Variables, but some custom configuration is required by your developer for this to work as expected.  If you'd like more information feel free to refer to this community post.

Do I have to know how to code to create Mobile app experiments?

There are three types of changes you can make in Optimizely - making visual changes through the Visual Editor, modifying Live Variable values, and control Code Blocks. Using the Visual Editor does not require coding knowledge once the SDK has been installed.

Here's a rundown of the different tools available for Mobile app experiments, their required coding knowledge, and features:

Visual Editor

  • Does not require coding ability to configure and start experiments
  • Anyone can easily edit existing objects and subviews, seamlessly make text changes, and modify values of variables
  • Start experiments and immediately push changes to your live app without requiring App Store or Play Store review

Code Blocks and Live Variables

  • Requires that new code and features to be tested have already been submitted to App or Play Store and approved
  • Can perform phased roll-outs of new features for targeted group or percentage of your users directly from Optimizely
  • Optimizely acts as the switch enabling you to intelligently activate your features/code and analyze the impact the new changes have made
  • Make on-the-fly changes to Live Variables integrated into your app

Do I have to use Xcode to make changes to my iOS app?

Xcode is not a requirement when making visual changes to your app using the Optimizely Mobile Editor. Make sure your developer has enabled Editing without Xcode as part of the SDK install steps.

Are native app tests able to leverage device hardware?

Yes! You can edit any aspect of the UI through code blocks and live variables, which means that you can run tests that include device hardware like gyroscopes, GPS, and more.

I have an app that supports both phone and tablet - how does that work with Optimizely?

Optimizely allows you to target experiments by device type. For universal apps, we recommend setting up one experiment that targets the tablet and a separate experiment that targets the phone.

How many experiments can I run at the same time?

You can run any number of experiments at one time. However, it is important that only one active experiment make a modification to the same view (e.g. copy or an image) or live variable at any given time. 

If two experiments use the same live variable, one of them will be disabled. If a conflict exists at all, we disable one of the experiments. A conflict is defined as two experiment affecting the same visual edit, live variable or code block.

Does a visitor to my app need an internet connection to be part of an experiment?

There are two times when the visitor will need an internet connection:

  1. When they download the initial variation
  2. When returning reporting data

If the app is offline, we will use the cached version of the config file. If there is no config file loaded, the original app will run for the visitor, and they will not be included in experiment data. For event tracking, we store events on the device until the device is connected to the network again.

The config file is a JSON file that the SDK requests from our CDN. 

How will the Optimizely SDK affect my app’s responsiveness?

The Optimizely iOS SDK has a minimal impact on your app’s performance.

  • The Optimizely iOS SDK has a relatively small footprint in your app of approximately 840KB and the Optimizely Android SDK is approximately 809KB.
  • The Optimizely iOS and Android SDKs download a config file that contains all your experiment and variation information the first time a user runs the app with the SDK and every 2 minutes thereafter.  Each SDK will only delay launch by a max of 2 seconds the first time you run the app
  • Following the first time the user uses your app with the SDK for the first time, the Optimizely iOS or Android SDK pre-caches experiment configurations locally, so the experiment is executed immediately without needing to ping an external server.  
  • Other network calls will be made every two minutes. To learn more about calls made by each SDK, read this section on SDKs and internet connectivity.

Can Optimizely track app downloads from my mobile website?

Optimizely can track taps, views, and custom event goals on your site, but not any activity that takes place in the App or Play Store (like downloads). For more information on tracking downloads, please see our mobile marketing source attribution article.

How do I deactivate or uninstall Optimizely?

You can deactivate Optimizely from running on your live apps and revert back to the original experience simply by pausing your experiments in Optimizely. If you want to uninstall Optimizely entirely, complete uninstall instructions are available here.

 
Tip:

Want to learn more about mobile optimization? Check out this thread in the Optiverse community, where experts have answered a series of questions about testing in mobile.