Frequently Asked Questions

This page contains some of the questions we are most frequently asked by new and prospective clients. Hopefully, we've provided the answer to any question(s) you may have.

Page Contents:

The SDK

How big is the SDK?
The base size of the SDK on disk is approximately 316 KB. However, these numbers decrease significantly once implemented within an app. This reduction is difficult to pinpoint on Android since it would depend on your use of Proguard and other techniques to remove unwanted methods.

What's the method count of the SDK?
The SDK has a method count of 3047. To keep this count low, we require that you reference a small number of dependencies.

How does the SDK size compare to other SDKs?
The table below compares the SDK to other popular SDKs. The SDK is pretty light in terms of size and method count.

Name

Package ID

Method Count

Method count (including dependencies)

File size (KB)

Android compatibility support

com.android.support
:appcompat-v7
:23.1.1

5319

14,253

902

GSON

com.google.code.gson
:gson
:2.7

1342

1342

232

Android design support

com.android.support
:design
:24.2.1

2531

21,349

326

Maps

com.google.android.gms
:play-services-maps
:8.4.0

2640

15,987

254

Google analytics

com.google.android.gms
:play-services-analytics
:8.4.0

3076

15,495

361

Android recyclerview support

com.android.support
:recyclerview-v7
:23.1.1

2203

11,137

272

Verint

com.foresee.sdk
:sdk
:5.1.0

2342

3047

316

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 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 following credentials in your configuration file:

clientId: FSRTESTINGCODECID12345==
surveyId: android_app_QA

Is there a way to localize the wording in the invitations and the surveys?
Yes, please refer to the Localization article for instructions.

Persistence

Are criteria counts (e.g. app number of launches) reset on app upgrades?
No, the state of the app (including criteria counts) is persisted through app and/or SDK upgrades. The status can only be cleared using one of the following methods:

  • Uninstall the app
  • Delete the app data
  • Call ForeSee.resetState()

Security

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.

Performance

How are CPU and memory usage affected by the SDK?
The SDK has 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. Memory use is of course increased, with natural spikes during captures, but persistent increases in memory use are limited, with the main increase associated with the storage of a single screenshot downsampled by 2x, which uses 1/4 the memory of a screen-sized bitmap.

Compatibility

What versions of Android are supported by the SDK?
We support Android 5.0 and up.

Can I use the SDK in an app which supports a lower version than the SDK?

Supporting earlier API versions is possible using the following workaround:

  1. If you are using Gradle, remove the following line from your gradle.build file
minSdkVersion <YOUR_SUPPORTED_API_LEVEL>
  1. Add the following lines to your AndroidManifest.xml:
<uses-sdk android:minSdkVersion="<YOUR_SUPPORTED_API_LEVEL>"
tools:overrideLibrary="com.foresee.sdk"/>

This allows your app to run on lower API levels despite the library's settings. However, to ensure compatibility at runtime, you must manually protect against functions which are not compatible with the lower API level. To do that, you must add the following code to any calls made to the SDK:

if (Build.VERSION.SDK_INT >= 21) {
  // Call ForeSee SDK method
}

Do you support cross platform development languages like React Native or PhoneGap?
We offer the following cross-platform plugins:

Third-Party Analytics Services

Can I integrate the SDK with my third-party analytics package, or vice versa?
Verint has the ability to interact with some third-party analytics services to provide integration and data sharing between those services and our SDK. Please contact your Verint partner for more details.

Disabling the SDK

Is there a way to stop the SDK showing anything at all?
Yes. You can ask us to set the sampling percentage to zero. This means that no invitations are shown, and therefore no surveys.