What has changed?

Android SDK v5 offers the following enhancements to the previous version:

  • The following additional features are available:
    • Form tracking
    • Ability to change the trackID and trackdomain on runtime (in case your app supports multiple languages and accounts).
  • Higher data quality from the following improvements:
    • Requests are stored in a database instead of within an app file.
    • Requests can be sent in batches to ensure correct page navigation paths.
    • Using the WorkManager guarantees reliable sending of requests.
    • WebViews can be tracked entirely inside the app context.
    • Campaign tracking is improved and refactored.
  • Detailed logs to simplify debugging.
  • Enhanced performance and battery usage.


The Android SDK v5 uses the WorkManager to store and send requests to Mapp Intelligence. This ensures reliable data information and requests, but it is limited to a minimum send interval of 15 minutes (max. 60 minutes). We recommend enabling batch support and using the client timestamp for page duration calculation in your account. Please contact your account manager to enable client timestamp in your account.

The Android SDKv5 does not offer configuration and implementation via Tag Integration. Configuration must be done in the app as explained in the documentation.


Steps for Migration

When migrating from Android SDK v4 to the newer Android SDK v5 it is important to keep the existing customer everID data to prevent data loss. Without properly migrating, each app update after the migration will create a new user/visitor in Intelligence. The migration function in the global configuration provides the Android SDKv5 with the necessary information to keep existing customer data in Intelligence.

  1. First, implement the SDK v5 in your application as explained in the documentation It is possible to use either query based or object oriented tracking.
  2. Ensure that you enable the function to migrate the SDK in the Global Configuration:

    class SampleApplication : Application() {
     
         override fun onCreate() {
             super .onCreate()
     
             val webtrekkConfigurations =
                 WebtrekkConfiguration.Builder(listOf( "track Id" ), "track domain" )
                     .enableMigration()
                     .build()
     
             Webtrekk.getInstance().init( this , webtrekkConfigurations)
         }
    }
    CODE
    public class SampleApplication extends Application {
     
         @Override
         public void onCreate() {
         super .onCreate();
     
         List<String> trackIds = new ArrayList<>();
         trackIds.add( "track id" );
     
         WebtrekkConfiguration webtrekkConfiguration = new WebtrekkConfiguration.Builder(trackIds, "track domain" )
             .enableMigration()
             .build();
     
         Webtrekk.getInstance().init( this , webtrekkConfiguration);
       }
    }
    JAVA
  3. Remove any configuration of the old Android SDKv4.

    This step is important to prevent duplicate tracking in the application. If you leave both SDKs enabled it might track user interaction/navigation twice.