Android quick start
Target Platforms
This quick start guide shows you how to get Heap set up in an Android application that uses the Android View or Jetpack Compose frameworks for creating the user interface.
After completing the setup process, you'll be able to:
- Take full advantage of the Heap API to track custom events and manage user identity.
- Automatically capture a wide variety of user interactions with no additional code required.
If you're using Heap Classic and thinking of switching to our latest offerings, check out the full breakdown of the differences between our SDKs here.
Before you begin
The below guide assumes a standard
<project>/<app>
configuration and use of the most up-to-date Gradle syntax. If you're using the legacy Gradle syntax in your project, visit our custom configuration guide here.
All of our Android SDKs are distributed via Maven Central. To make sure your application can access the required artifacts, you'll need to add Maven Central as a repository for both Gradle plugins and dependencies.
In your project-level settings.gradle
file, add a reference to Maven Central:
pluginManagement {
repositories {
...
mavenCentral()
}
}
dependencyResolutionManagement {
repositories {
...
mavenCentral()
}
}
pluginManagement {
repositories {
...
mavenCentral()
}
}
dependencyResolutionManagement {
repositories {
...
mavenCentral()
}
}
Add the SDK to your application
Unified SDK
These instructions install the Heap SDKs. If you're interested in upgrading to the CSQ SDK, which includes product analytics powered by Heap and digital experience analytics powered by Contentsquare, check out the docs here.
- In your app-level
build.gradle
file, add the dependencies for Heap Core and Autocapture.
dependencies {
implementation 'io.heap.core:heap-android-core:0.8.+'
implementation 'io.heap.autocapture:heap-autocapture-view:0.8.+'
// Only needed if you use Jetpack Compose in your application.
implementation 'io.heap.autocapture:heap-autocapture-compose:0.8.+'
}
dependencies {
implementation("io.heap.core:heap-android-core:0.8.+")
implementation("io.heap.autocapture:heap-autocapture-view:0.8.+")
// Only needed if you use Jetpack Compose in your application.
implementation("io.heap.autocapture:heap-autocapture-compose:0.8.+")
}
- Also in your app-level
build.gradle
file, add the Heap Gradle Plugin. This must come after the Android application plugin.
plugins {
id 'com.android.application'
...
id 'io.heap.gradle' version '1.1.+'
}
plugins {
id("com.android.application")
...
id("io.heap.gradle") version "1.1.+"
}
-
Once the dependencies and the plugin have been added, sync Gradle and rebuild your application.
-
To enable Heap and start automatically tracking user interactions, register the autocapture SDK and call
startRecording
. This can go anywhere in your app, but we recommend doing this in theonCreate
method of your appāsApplication
object to make sure tracking starts before the first UI element is shown.
import io.heap.autocapture.ComposeAutocaptureSDK
import io.heap.autocapture.ViewAutocaptureSDK
import io.heap.core.Heap
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
// Replace YOUR_ENVIRONMENT_ID with the ID of the Heap environment you wish to send data to.
Heap.startRecording(this, "YOUR_ENVIRONMENT_ID")
// Enables autocapture for pageviews and View components.
ViewAutocaptureSDK.register()
// Enables autocapture for Jetpack Compose. Can be omitted if not using Compose UI.
ComposeAutocaptureSDK.register()
}
}
import io.heap.autocapture.ComposeAutocaptureSDK;
import io.heap.autocapture.ViewAutocaptureSDK;
import io.heap.core.Heap;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// Replace YOUR_ENVIRONMENT_ID with the ID of the Heap environment you wish to send data to.
Heap.startRecording(this, "YOUR_ENVIRONMENT_ID");
// Enables autocapture for pageviews and View components.
ViewAutocaptureSDK.register();
// Enables autocapture for Jetpack Compose. Can be omitted if not using Compose UI.
ComposeAutocaptureSDK.register();
}
}
Once recording has started, youāre able to take full advantage of Heapās API to identify users, track custom events, and more. Heap will also automatically start tracking a wide range of user interactions, activity and fragment visibility changes, and app version changes without any additional code.
What next?
To find out how to take full advantage of the Heap API to enhance your data capture, check out our mobile tracking guides here.
Do you have sensitive data in your UI that you don't want to be captured? Check out our guide on masking sensitive data here.
Updated 11 days ago