Android SDK observability reference
The LaunchDarkly observability features are available for early access
Observability features in the LaunchDarkly UI are publicly available in early access.
The observability SDKs, implemented as plugins for LaunchDarkly server-side and client-side SDKs, are designed for use with the in-app observability features. They are currently in available in Early Access, and APIs are subject to change until a 1.x version is released.
If you are interested in participating in the Early Access Program for upcoming observability SDKs, sign up here.
Overview
This topic documents how to get started with the LaunchDarkly observability plugin for the Android SDK.
The Android SDK supports the observability plugin for error monitoring, logging, tracing, and session replay.
SDK quick links
LaunchDarkly’s SDKs are open source. In addition to this reference guide, we provide source, API reference documentation, and a sample application:
Prerequisites and dependencies
This reference guide assumes that you are somewhat familiar with the LaunchDarkly Android SDK.
The observability plugin is compatible with the Android SDK, version 5.9.0 and later.
The LaunchDarkly Android SDK is compatible with Android SDK versions 21 and higher (Android 5.0, Lollipop).
Get started
Follow these steps to get started:
- Install the plugin
- Initialize the Android SDK client
- Configure the plugin options
- Configure additional instrumentations
- Configure session replay
- Explore supported features
- Review observability data in LaunchDarkly
Install the plugin
LaunchDarkly uses a plugin to the Android SDK to provide observability.
The first step is to make both the SDK and the observability plugin available as dependencies.
Here’s how:
Then, import the plugin into your code:
Initialize the client
Next, initialize the SDK and the plugin.
To initialize, you need your LaunchDarkly environment’s mobile key and the context for which you want to evaluate flags. This authorizes your application to connect to a particular environment within LaunchDarkly. To learn more, read Initialize the client in the Android SDK reference guide.
Android observability SDK credentials
The Android observability SDK uses a mobile key. Keys are specific to each project and environment. They are available from Project settings, on the Environments list. To learn more about key types, read Keys.
Mobile keys are not secret and you can expose them in your client-side code without risk. However, never embed a server-side SDK key into a client-side application.
Here’s how to initialize the SDK and plugin:
Configure the plugin options
You can configure options for the observability plugin when you initialize the SDK. The plugin constructor takes an optional object with the configuration details.
Here is an example:
For more information on plugin options, read Configuration for client-side observability.
Configure additional instrumentations
To enable HTTP request instrumentation and user interaction instrumentation, add the following plugin and dependencies to your top level application’s Gradle file.
Configure session replay
The Android SDK supports session replay, which captures snapshots of your app’s UI at regular intervals. This allows you to visually review user sessions in LaunchDarkly to better understand user behavior and diagnose issues.
To enable session replay, add the ReplayInstrumentation to the instrumentations list when configuring the observability plugin.
Here’s how:
Session replay configuration options
You can customize session replay behavior by passing a ReplayOptions object to the ReplayInstrumentation constructor:
The available configuration options are:
privacyProfile: Controls how UI elements are masked in the replay. Options are:PrivacyProfile.STRICT(default): Masks all UI elements to protect user privacy.PrivacyProfile.NO_MASK: Captures UI elements without masking. Use with caution as this may expose sensitive user information.
capturePeriodMillis: The interval in milliseconds between UI snapshots. Defaults to 1000ms (1 second).serviceName: A name for your service. Defaults to “observability-android”.serviceVersion: Version of your service. Defaults to the SDK version.backendUrl: The backend URL for sending replay data. Defaults to LaunchDarkly’s backend.debug: Enables verbose logging when set totrue. Defaults tofalse.
For more information on session replay configuration, read Configuration for session replay.
Explore supported features
The observability plugins supports the following features. After the SDK and plugins are initialized, you can access these from within your application:
- Configuration for client-side observability
- Configuration for session replay
- Errors
- Logs
- Metrics
- Tracing
Review observability data in LaunchDarkly
After you initialize the SDK and observability plugin, your application automatically starts sending observability data back to LaunchDarkly, including errors and logs. You can review this information in the LaunchDarkly user interface. To learn how, read Observability.