Apptimize iOS / iPadOS / tvOS / watchOS SDK API Documentation
Apptimize is an AB testing framework that allows you to easily run AB tests and deploy changes to your mobile applications.
This documentation covers all the APIs needed to integrate Apptimize with your iOS, iPadOS, tvOS, and watchOS applications.
Platform Feature Availability
iOS | iPadOS | watchOS | tvOS | |
---|---|---|---|---|
Code Blocks | ✓ | ✓ | ✓ | ✓ |
Custom Attributes | ✓ | ✓ | ✓ | ✓ |
Dynamic Variables | ✓ | ✓ | ✓ | ✓ |
Event Tracking | ✓ | ✓ | ✓ | ✓ |
Feature Flags | ✓ | ✓ | ✓ | ✓ |
Instant Updates | ✓ | ✓ | ✓ | |
Pilot Groups | ✓ | ✓ | ✓ | ✓ |
Visual Experiments | ✓ | ✓ | ✓ | |
Visual Event Tracking | ✓ | ✓ | ✓ | |
Third Party Framework Event Exporting * | ||||
• Airship | ✓ | ✓ | ||
• Localytics | ✓ | ✓ | ✓ | |
Third Party Framework Event Importing * | ||||
• Adobe Marketing Cloud (Omniture) | ✓ | ✓ | ✓ | |
• Amplitude | ✓ | ✓ | ||
• Firebase | ✓ | ✓ | ||
• Flurry | ✓ | ✓ | ✓ | |
• Google Analytics | ✓ | ✓ | ✓ | |
• Localytics | ✓ | ✓ | ✓ | |
• Mixpanel | ✓ | ✓ | ✓ |
* Third party framework support depends on third party framework availability for a given platform.
Watch OS Integration
In order to for Apptimize to propertly integrate with your watchOS application you must provide a WKExtensionDelegate
in your application’s extension as well as the appropriate Info.plist
entry. This should be generated for you automatically by XCode when you create a new watchOS application.
You do not need to implement any of the protocol instance methods.
For further information on the WKExtensionDelegate
see the Apple developer documentation for WKExtensionDelegate.
A Note on Data Protection
Data Protection is an iOS feature that protects the user data associated with an application by encrypting those files automatically. By default files are encrypted until the first time the user unlocks the device after it is powered on. Apptimize will set the properties of the files it creates to this default level of protection.
If your application receives push notifications or performs background refresh it
may be launched in the background before the user has unlocked the device for the
first time. In this situation Apptimize will not be able to read the device
specific configuration and its startup will be delayed. Most APIs will be
unavailable until startup has completed (e.g. those that set configuration options
or access any test information). Apptimize will startup automatically when files
are unlocked. If this case applies to your application, you should wait for the
notification ApptimizeInitializedNotification
before using Apptimize.
If you call an Apptimize API while files are encrypted a warning will be logged.
For further information on Data Protection, see the Apple developer article Encrypting Your App’s Files
Further Reading
More details on getting started with integrating Apptimize into your application can be found on Apptimize’s main documentation site.