Initialize the SDK

Prev Next

What initialization means

Initialization is the step where you pass at least one Track ID and a valid Track Domain to Webtrekk.getInstance().init(context, configuration). From this point on, the SDK is available to the rest of your app.


Where initialization should happen

Initialize the SDK once during app startup:

  • In your Application subclass's onCreate().

  • Register that Application subclass via the android:name attribute on the <application> element in AndroidManifest.xml.

This follows common Android startup practice for app-wide libraries: initialize them once in Application.onCreate(), not lazily from individual activities or fragments.

Note: The SDK targets Android phone and tablet apps. Wear OS and Android TV are not officially supported.


Minimum required configuration

You must provide:

  • at least one Track ID

  • a valid Track Domain (HTTPS)


Example

Application subclass:

import android.app.Application
import webtrekk.android.sdk.Webtrekk
import webtrekk.android.sdk.WebtrekkConfiguration

class SampleApplication : Application() {
    override fun onCreate() {
        super.onCreate()

        val configuration = WebtrekkConfiguration.Builder(
            listOf("YOUR_TRACK_ID"),
            "https://your-trackdomain.com"
        ).build()

        Webtrekk.getInstance().init(this, configuration)
    }
}

AndroidManifest.xml:

<application
    android:name=".SampleApplication"
    ... >
    ...
</application>
import android.app.Application;
import java.util.Arrays;
import webtrekk.android.sdk.Webtrekk;
import webtrekk.android.sdk.WebtrekkConfiguration;

public class SampleApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        WebtrekkConfiguration configuration = new WebtrekkConfiguration.Builder(
            Arrays.asList("YOUR_TRACK_ID"),
            "https://your-trackdomain.com"
        ).build();

        Webtrekk.getInstance().init(this, configuration);
    }
}

What to verify after initialization

  • the app starts without errors

  • your Track ID and Track Domain values are correct

  • the Track Domain uses https://

  • the initialization code runs exactly once during app startup

  • your Application subclass is registered in AndroidManifest.xml


What not to overload into this step

Keep initialization minimal. Logging, request interval, batch support, user matching, crash tracking, and other optional behavior should be set in Configure Global Tracking.


Next step

Once the SDK starts successfully, continue with Configure Global Tracking.

If the SDK is not initialized correctly, later SDK calls can fail because the required configuration is missing.