Skip to main content

Quickstart

Get Pulse running in your app and see your first telemetry in under 10 minutes.

Prerequisites

  • A Pulse account with access to the Pulse Dashboard
  • Your apiKey from the Pulse dashboard under Settings → SDK
  • An Android, iOS, React Native or Expo project

Step 1 — Install the SDK

Add to app/build.gradle.kts:

dependencies {
implementation("org.dreamhorizon:pulse-android-sdk:LATEST_VERSION")
}

Check Maven Central for the latest version.

Step 2 — Initialize

In your Application class — must be on the main thread, as early as possible:

import com.pulse.android.sdk.PulseSDK
import com.pulse.android.api.otel.PulseDataCollectionConsent

class MainApplication : Application() {
override fun onCreate() {
super.onCreate()
PulseSDK.INSTANCE.initialize(
application = this,
apiKey = "your-api-key",
dataCollectionState = PulseDataCollectionConsent.ALLOWED,
)
}
}

Step 3 — Verify

Run your app. Open the Pulse dashboard and check Live Feed — you should see incoming data within seconds:

  • App start events
  • Screen lifecycle events
  • Network requests
  • Device and session metadata

Step 4 — Create Your First Interaction

Interactions track critical user journeys end-to-end. You define them in the dashboard using custom events from your app.

  1. Navigate to Interactions in the left sidebar
  2. Click Create Interaction
  3. Fill in:
    • Name: e.g., Add to Cart
    • Start Event: the event that begins the flow (e.g., add_to_cart_clicked)
    • End Event: the event that completes it (e.g., cart_confirmed)
    • Thresholds: latency targets (e.g., 200ms satisfactory / 1000ms tolerable)
  4. Save

Pulse will evaluate every instance of this interaction against your thresholds and compute Apdex scores, error rates, and latency percentiles in real time.

Step 5 — Track a Custom Event

Send the events that feed your interaction:

PulseSDK.INSTANCE.trackEvent(
name = "add_to_cart_clicked",
observedTimeStampInMs = System.currentTimeMillis(),
params = mapOf("product_id" to "SKU-1234")
)

What's Next