iOS SDK - Frequently Asked Questions
On this page you will find some of the questions we are most frequently asked by new and prospective clients. Please look at the answers below before contacting suport as it is more than likely your question has already been answered here.
How big is the SDK?
The SDK is 7MB downloaded, 1.5MB when implemented in-app
How does the survey adapt for Tablet and Phone?
The survey is an adaptive webview that fits to both tablet and phone, adjusting controls to fit. The size of the invitation also adjusts to be a good fit for the screen size while still remaining unobtrusive. Screenshots can be provided for both tablet and phone on request.
Are there some test credentials to use to see an example survey?
Yes, please use the folowing credentials in your configuration file:
On-device Data Storage
How long will the videos of user activity be persisted on the device before being transmitted to ForeSee?
Videos are stored until the user receives an invitation. If the user accepts, the videos are sent to ForeSee when the user quits the app, or the next time the user opens the app and is online. If the user declines the invite, the videos are deleted.
What information is cached on the devices?
There is nothing stored on the device apart from the replay data and the counts for eligibility criteria (days since first launch, launch count, significant events)
Is the survey information directly posted onto Foresee’s site after users have taken the survey or is it temporarily persisted on the mobile device?
Surveys are presented as a web page which submits the information to ForeSee as soon as it is completed. The survey data is never stored on the device.
What happens to Replay session data if the app crashes?
In iOS, the session data is stored as a movie file in a temporary folder. If the app crashes, the data is incomplete and will be deleted either on the next app launch or when iOS considers there to be a free space issue.
How are CPU and memory usage affected by the SDK?
The SDK will have an impact on CPU and memory usage, although the user experience is not affected. We perform as much work as possible on background threads and only take captures in the brief periods when the user is not interacting with the app. This restricts use of the main thread to preserve a smooth user experience. Transitive memory use is of course increased, with natural spikes during captures, but persistent increases in memory use are limited to roughly 100-200KB
Are survey results secure? What kind of transmission method and encryption is used?
The survey information is sent over a secure channel using an HTTPS connection. The connection uses 128-bit encryption under the TLS 1.2 protocol and is encrypted using AES_128_CBC, with SHA1 for message authentication and RSA as the key exchange mechanism.
Do you support cross platform development languages like Titanium or PhoneGap?
We don’t officially support these languages, although we have had clients who have had some success. We would be happy to work with you to provide workarounds to problems you encounter, or offer a more limited functionality to ensure a smooth implementation. Unfortunately, we cannot guarantee the same level of bug-free operation and level of support as with native implementations so you will need to run more extensive testing on your app to make sure it works in all situations before submitting to the app store.
Third party analytics services
Can I integrate the ForeSee SDK with my third party analytics package or vice versa?
ForeSee has the ability to interact with a number of third-party analytics services to provide integrations and data sharing between those services and our SDK. The following services are currently supported:
- Adobe Omniture
- Web Trends
- Google Analytics
Note: It may also be possible to add other integrations if the required data is available from within your app code.
Of the above, support for Omniture is the most advanced; we have a fully developed API which allows seamless integration with the Omniture service, allowing our data (satisfaction scores and survey responses) to be viewed in Omniture and vice versa.
Implementation usually requires very little configuration on your part, although the complexity of the implementation is dependent on the notification method you use within the ForeSee SDK. In-session or local notification methods are the simplest – we add a hidden link in our survey thank you page to send our data to your service once the survey is complete. The on-exit notification method requires a CPP to be passed containing whatever code your service requires to uniquely identify a session. From there, we handle the passing of our information to your analytics service.
Disabling the SDK
Is there a way to disable Replay?
Yes. There is a system called a blacklist check which we use to disable Replay on its own. The Trigger portion of the SDK will still function, so invitations will be shown and surveys completed, but no replay data will be collected. This can help us deal with unexpected compatibility issues between your app and our SDK, or the SDK and the OS. We can disable replay for an OS (iOS 8.1 for example), for a single version of our SDK, or for a range of either of these. If you experience a problem with a particular OS or SDK version, simply let us know and we will update your blacklist with immediate effect.
Is there a way to configure the SDK for different languages?
Yes. All the text on the invitation can be changed by supplying a file containing the alternate wordings. It is possible to add a different set of wordings for each of your supported locales. Full instructions on how to achieve this are found on the Localization page.
Can I provide a different configuration for iPhone and iPad?
Yes. Since the configuration is provided as a JSON file within the project, you can use the standard iOS file suffixes to control which file is loaded at runtime. The
foresee_configuration.json file will be loaded by default;
foresee_configuration~ipad.json will only be loaded on iPad.