LaunchDarkly is a feature management platform that serves trillions of feature flags daily to help teams build better software, faster. Get started using LaunchDarkly today!
See the pubspec.yaml file for Flutter version requirements.
This SDK supports Android, iOS, Linux, macOS, Web, and Windows.
The underlying API support requirements are determined by the native plugins used by the SDK.
These include:
- shared_preferences: Used for persistent caching for flag payloads and other data.
- connectivity_plus: Used for detecting network status.
- package_info_plus and device_info_plus: Used to for the automatic environment attributes feature.
Refer to the SDK documentation for instructions on getting started with using the SDK.
The repository is a monorepo containing the packages required to make the SDK as well as testing and example applications.
Directory | Readme | Description |
---|---|---|
.github | Contains CI and release process workflows and actions. | |
packages | Contains flutter/dart libraries. | |
packages/flutter_client_sdk | Flutter Client SDK | Package which implements the LaunchDarkly client-side SDK for flutter. |
packages/common | Common | Package which contains common code for dart based SDKs. Currently there is only a client-side SDK, but this directory should only contain code tha would apply to both client and server-side SDKs. |
packages/client | Common Client | Package containing code that is specific to client-side SDKs, but not specific to flutter. |
packages/event_source_client | Event Source Client | Package implementing support for SSE. |
apps | Contains sample and test applications. | |
apps/sse_contract_test_service | SSE Contract Test Service | This application is used to test the SSE implementation used by the SDK. |
apps/flutter_client_contract_test_service | Flutter Client Contract Test Service | This application is used to test the functionality of the SDK. |
architecture | Contains diagrams and other supporting architecture documents. |
Read our documentation for in-depth instructions on configuring and using LaunchDarkly. You can also head straight to the complete reference guide for this SDK or our code-generated API documentation.
We run integration tests for all our SDKs using a centralized test harness. This approach gives us the ability to test for consistency across SDKs. These tests cover each method in the SDK, and verify that event sending, flag evaluation, stream reconnection, and other aspects of the SDK all behave correctly.
We encourage pull requests and other contributions from the community. Read our contributing guidelines for instructions on how to contribute to this SDK.
- LaunchDarkly is a feature management platform. We empower all teams to deliver and control their software. With LaunchDarkly, you can:
- Roll out a new feature to a subset of your end users, such as a group of end users who opt in to a beta tester group, and gather feedback and bug reports from real-world use cases.
- Gradually roll out a feature to an increasing percentage of customers, and track the effect that the feature has on key metrics. For instance, how likely is a customer to complete a purchase if they have feature A versus feature B?
- Turn off a feature that is causing performance problems in production, without needing to re-deploy or even restart the application with a changed configuration file.
- Grant access to certain features based on end user attributes, like payment plan. (For example, customers on the ‘gold’ plan have access to more features than customers in the ‘silver’ plan).
- Disable parts of your application to facilitate maintenance, without taking everything offline.
- LaunchDarkly provides feature flag SDKs for a wide variety of languages and technologies. Read our SDK documentation for a complete list.
- Explore LaunchDarkly
- launchdarkly.com for more information
- docs.launchdarkly.com for our documentation and SDK reference guides
- apidocs.launchdarkly.com for our API documentation
- launchdarkly.com/blog for the latest product updates