• Home
  • Integrations
  • SDKs
  • Guides
  • API docs
No results for ""


Flutter SDK reference

Read time: 2 minutes
Last edited: Jan 25, 2022


This reference guide documents all of the methods available in the Flutter SDK, and explains how these methods work. LaunchDarkly's SDKs are open source. The source is available in its GitHub repository and its generated API reference.

You can also use this SDK to clone and run a sample application.

SDK version compatibility

The LaunchDarkly Flutter SDK is compatible with Android SDK versions 21 and higher and with iOS version 10.0 and higher. The LaunchDarkly Flutter SDK does not support other Flutter platforms.

Getting started

After you complete the Getting started process, follow these instructions to start using the LaunchDarkly SDK in your Flutter mobile application.

First, declare a dependency on the LaunchDarkly Flutter SDK:

launchdarkly_flutter_client_sdk: ^1.0.0

Then, import the package in your application code:

import 'package:launchdarkly_flutter_client_sdk/launchdarkly_flutter_client_sdk.dart';

After you install the SDK, initialize the single shared instance of LDClient. To create a client instance, you need your environment's mobile key. This authorizes your application to connect to a particular environment within LaunchDarkly. Your mobile key is available in the Projects tab of your Account settings page. Mobile keys are not secret and you can expose them in your client-side code without risk. Never embed a server-side SDK key into a client-side application.

LDClient must be a singleton

It's important to make LDClient a singleton. The client instance maintains internal state that allows LaunchDarkly to serve feature flags without making any remote requests. Do not instantiate a new client with every request.

The following example shows how to create the client:

LDConfig config = LDConfigBuilder('YOUR_MOBILE_KEY').build();
LDUser user = LDUserBuilder('user key')
await LDClient.start(config, user);
Making feature flags available to this SDK

You must make feature flags available to mobile SDKs before the SDK can evaluate those flags. If an SDK tries to evaluate a feature flag that is not available, the user will receive the default value for that flag.

To make a flag available to this SDK, check the SDKs using Mobile key checkbox during flag creation, or on the flag's Settings tab. To make all of a project's flags available to this SDK by default, check the SDKs using Mobile key checkbox in your project Settings.

You can use LDClient to check which variation a particular user will receive for a feature flag.

Here's how:

bool showFeature = await LDClient.boolVariation(flagKey, false);
if (showFeature) {
// Application code to show the feature
else {
// The code to run if the feature is off

Shutting down

Shut down the client when your application terminates. To learn more, read Shutting down.

Data collection

To learn more about data collection within this SDK and implications on submissions to the Apple App Store, read the Apple App Store data collection policy.

Supported features

This SDK supports the following features: