Skip to content

docs(feature-flags): add Flutter client integration#37811

Open
leoromanovsky wants to merge 1 commit into
leo.romanovsky/docs-flutter-feature-flagsfrom
leo.romanovsky/docs-flutter-feature-flags-plugin
Open

docs(feature-flags): add Flutter client integration#37811
leoromanovsky wants to merge 1 commit into
leo.romanovsky/docs-flutter-feature-flagsfrom
leo.romanovsky/docs-flutter-feature-flags-plugin

Conversation

@leoromanovsky

Copy link
Copy Markdown
Contributor

Motivation

Flutter customers who already initialize datadog_flutter_plugin should not have to duplicate Datadog client token, environment, site, service, version, and RUM application configuration just to use Feature Flags. DataDog/dd-sdk-flutter#1071 adds a Flutter plugin integration layer over the standalone Dart Flags SDK, so the docs need a stacked update that explains the integrated setup path without blocking the standalone Dart guide.

Changes

This PR stacks on DataDog/documentation#37809 and adds the Flutter-integrated setup to the same client guide. The page now documents DatadogFlagsPluginConfiguration, DatadogSdk.instance.flags?.sharedClient(), client initialization with FlagsEvaluationContext, and the default behavior that successful variant evaluations are added to the active RUM view as feature flag evaluations.

The PR also restores the customer-facing label from Dart to Dart and Flutter in the client SDK card grid, side navigation, and LaunchDarkly migration picker. The telemetry comparison table now includes the Flutter rumIntegrationEnabled option from datadog_flutter_plugin.

Decisions

The Flutter integration docs stay stacked on the standalone Dart docs because datadog_flutter_plugin integration depends on the API added in DataDog/dd-sdk-flutter#1071. The standalone page remains the base layer for pure Dart apps and Flutter apps that want full lifecycle control; this PR adds the SDK-owned Flutter initialization path for apps that already use the Datadog Flutter SDK.

The integration section uses the same API shape as DataDog/dd-sdk-flutter#1071: register DatadogFlagsPluginConfiguration with DatadogConfiguration.addPlugin, initialize DatadogSdk, retrieve the plugin through DatadogSdk.instance.flags, and evaluate through the same typed DatadogFlagsClient methods as the standalone package.

Validation

  • git diff --check
  • ruby -e 'require "yaml"; YAML.load_file("config/_default/menus/main.en.yaml"); ARGV.each { |f| YAML.load_file(f); puts "ok #{f}" }' content/en/feature_flags/client/_index.md content/en/feature_flags/client/flutter.md content/en/feature_flags/guide/migrate_from_launchdarkly.md
  • python3 shortcode balance check for tabs, code blocks, and site-region blocks in touched Markdown files.

@github-actions github-actions Bot added Architecture Everything related to the Doc backend Guide Content impacting a guide labels Jun 27, 2026
@leoromanovsky leoromanovsky force-pushed the leo.romanovsky/docs-flutter-feature-flags branch from e486252 to eac0305 Compare June 27, 2026 02:32
@leoromanovsky leoromanovsky force-pushed the leo.romanovsky/docs-flutter-feature-flags-plugin branch from 96a2b98 to 7f5b485 Compare June 27, 2026 02:33
@datadog-official

datadog-official Bot commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Pipelines

Fix all issues with BitsAI

⚠️ Warnings

🚦 1 Pipeline job failed

DataDog/documentation | build_preview   View in Datadog   GitLab

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 7f5b485 | Docs | Datadog PR Page | Give us feedback!

@leoromanovsky leoromanovsky marked this pull request as ready for review June 28, 2026 23:49
@leoromanovsky leoromanovsky requested a review from a team as a code owner June 28, 2026 23:49
@leoromanovsky

Copy link
Copy Markdown
Contributor Author

/review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Automated review by Claude. AI-generated; verify before acting.

Two suggestions on consistency between the renamed page and the cross-reference list. Nothing blocking.

Reviewed 7f5b485b31593e1b91513355c7f4506a48ea98b4workflow run


Use this setup when your Flutter app already initializes `datadog_flutter_plugin`. Add `DatadogFlagsPluginConfiguration` to your existing `DatadogConfiguration` before initializing the Datadog SDK. The plugin derives the client token, environment, site, service, version, and RUM application ID from the Flutter SDK configuration. To create a client token, see [Client tokens][1].

{{< site-region region="gov,gov2" >}}<div class="alert alert-danger">Flutter Feature Flags are not supported for the selected <a href="/getting_started/site">Datadog site</a> ({{< region-param key="dd_site_name" >}}).</div>{{< /site-region >}}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: The page now covers both Dart and Flutter, but this warning says "Flutter Feature Flags" while the matching warning under ## Standalone Dart setup (line 105) still says "Dart Feature Flags". Consider unifying both so the gov/gov2 restriction reads the same regardless of which setup section the reader is in.

Suggested change
{{< site-region region="gov,gov2" >}}<div class="alert alert-danger">Flutter Feature Flags are not supported for the selected <a href="/getting_started/site">Datadog site</a> ({{< region-param key="dd_site_name" >}}).</div>{{< /site-region >}}
{{< site-region region="gov,gov2" >}}<div class="alert alert-danger">Datadog Feature Flags are not supported for the selected <a href="/getting_started/site">Datadog site</a> ({{< region-param key="dd_site_name" >}}).</div>{{< /site-region >}}


- **Web** (`@datadog/openfeature-browser`): `enableRumFeatureFlagTracking`
- **Android** (`dd-sdk-android-flags`): `rumIntegrationEnabled`
- **Flutter** (`datadog_flutter_plugin`): `rumIntegrationEnabled`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: The two lists above (trackExposures, trackEvaluations) use **Dart and Flutter** (datadog_flags), but this list only mentions Flutter. A reader scanning the three sections may wonder whether pure Dart supports RUM integration or whether the row was simply forgotten. Consider adding a Dart row that explicitly says it is not exposed, mirroring the Unity: Not exposed pattern used below.

Suggested change
- **Flutter** (`datadog_flutter_plugin`): `rumIntegrationEnabled`
- **Flutter** (`datadog_flutter_plugin`): `rumIntegrationEnabled`
- **Dart** (`datadog_flags`): Not exposed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Architecture Everything related to the Doc backend Guide Content impacting a guide

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant