This technical article is for our non-Build customer only. The purpose is to clearly define the impact of your release configuration mode so that you make sure you are releasing an application that will collect your customers data as expected and not remain in a debug configuration !

Make sure the SDK is in release mode before publication.

Always ensure that you are not publishing an application in debug mode, as the data collected will not be considered as production data, and therefore not appear on the dashboards


The FollowAnalytics SDK has 2 compilation modes, matching the debug and release modes defined by Apple (iOS, and the build types in the Gradle build system (Android).

The SDK configuration your app runs in has an impact on where your data is sent.

Debug SDK configuration:

  • default mode when running on the iOS simulator

  • should be used when doing development and conducting tests on code

  • data sent in this mode will not be taken into account for stats on the FollowAnalytics dashboards.

  • You won't be able to receive push notifications from FollowAnalytics in debug mode.

Release SDK configuration:

  • default mode when running in release mode on a device

  • data sent in this mode will be considered as production data and affect all dashboards and KPIs computed for the apps.

Debug mode on iOS

In Objective-C, the FollowAnalytics iOS SDK relies on the FADEBUG constant, which looks at the DEBUG compilation flag, that is present in all projects created through Xcode (available only in Objective-C).

If you use the Swift language, you set the debug mode yourself. See initialize the SDK.

Debug mode on Android

Your data is sent in debug mode when your app is debuggable. This happens if:

  • Your app is signed with a debug certificate.

  • or The flag android:debuggable="true" is added to your application manifest. This is automatically set to true by your IDE if you use a debug certificate.

  • or BuildConfig.DEBUG value is true.

By default on gradle, the commands assembleDebug and installDebug build the application in debug mode. Android Studio signs your app in debug mode automatically when you run or debug your project from the IDE.

An APK built by commands assembleRelease and installRelease is by default in release mode. The release app is technically ready to be deployed on the store.

Checking if your APK is debuggable

You may be using other build types than debug and release, e.g. dev and prod. You can check whether your APK is debuggable or not using the following snippet code:

ApplicationInfo appInfo = ...;
boolean isDebuggable = appInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE != 0;

your environment is debug
else {
your environment is release
Did this answer your question?