> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashduty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Flutter SDK compatibility

> Review the platforms, Flutter versions, companion packages, and current limits supported by the Flutter RUM SDK

This page describes the Flutter SDK support scope and current limits so you can determine whether your project meets the requirements before integration.

## Support scope

| Item             | Support                                                   |
| ---------------- | --------------------------------------------------------- |
| SDK version      | `flashcat_flutter_plugin` 0.1.0                           |
| Target platforms | **iOS and Android** (Flutter Web / Desktop not supported) |
| Flutter / Dart   | Flutter ≥ 3.0, Dart ≥ 3.0                                 |
| iOS              | Deployment target ≥ 12.0                                  |
| Android          | `minSdkVersion` ≥ 21                                      |
| RUM data source  | Events always write `source: "flutter"`                   |
| Implementation   | A Flutter plugin wrapping the native iOS / Android SDKs   |
| Data upload      | `POST /api/v2/rum`                                        |

## Packages and capabilities

| Package            | pub name                       | Description                                                                                                                             |
| ------------------ | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
| RUM / Core / Crash | `flashcat_flutter_plugin`      | Initialization, configuration, RUM (view / action / resource / error / session), and native crash collection                            |
| HTTP tracking      | `datadog_tracking_http_client` | Automatically records `dart:io` / `http` requests as resources and injects trace headers (requires `dependency_overrides`, not v1 core) |
| WebView tracking   | `flashcat_webview_tracking`    | Correlates RUM data inside WebViews                                                                                                     |

<Note>
  The Dart class names still follow the upstream `Datadog*` naming; only the site enum `FlashcatSite` (`.cn` default / `.staging`) and the package name are rebranded. The `DatadogSdk`, `DatadogConfiguration`, `DatadogRumConfiguration`, `DatadogNavigationObserver`, and other classes in the documentation examples are the actual exported class names.
</Note>

## Supported automatic collection

| Capability           | Support                                | Description                                                                                                    |
| -------------------- | -------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| Automatic views      | Supported                              | Requires a `DatadogNavigationObserver` on `MaterialApp`                                                        |
| Automatic actions    | Supported                              | Requires wrapping the subtree with `RumUserActionDetector`; `trackFrustrations` is enabled by default          |
| Automatic resources  | Supported (requires companion package) | Through `enableHttpTracking()` from `datadog_tracking_http_client`                                             |
| Unhandled exceptions | Supported                              | When using `DatadogSdk.runApp`, automatically takes over `FlutterError.onError` / `PlatformDispatcher.onError` |
| Native crashes       | Supported                              | Requires `nativeCrashReportEnabled: true`                                                                      |
| Distributed tracing  | Supported                              | Injects W3C `traceparent` for hosts that match `firstPartyHosts`                                               |

## Current limits

| Limit                    | Description                                                                                                                                                                            |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Platform scope           | iOS / Android only; Flutter Web and Desktop are not supported                                                                                                                          |
| Logs                     | v1 does not support log reporting (`DatadogLoggingConfiguration` is a no-op)                                                                                                           |
| Session Replay           | Not supported in v1 (`datadog_session_replay` is a preview, not in the core scope)                                                                                                     |
| Companion package naming | `datadog_tracking_http_client` / `datadog_session_replay` still declare their dependency on `datadog_flutter_plugin: ^3.0.0`, so integrating this fork requires `dependency_overrides` |
| dio / gql / grpc         | The corresponding interceptor packages are not yet adapted to this fork in v1                                                                                                          |
| Page performance metrics | `reportFlutterPerformance` is disabled by default; the console performance page is currently hidden for Flutter to avoid showing zero-value empty data                                 |
| pub.dev publication      | Official publication is being confirmed; git dependencies are currently recommended                                                                                                    |

## Symbolication compatibility

Flutter crash stacks can contain both Dart frames and native (iOS / Android) frames. To resolve stack frames back to source locations, you need to upload the corresponding symbol files:

| Frame type     | Required uploaded files                                     |
| -------------- | ----------------------------------------------------------- |
| Dart           | Flutter symbols (`flutter build --split-debug-info` output) |
| iOS Native     | dSYM                                                        |
| Android Native | mapping files                                               |

<Tip>
  Symbol files are uploaded through the FlashCat CLI, and the `version` used at upload time must match the `version` in the SDK initialization. Otherwise the console can receive crash events but cannot resolve the stacks.
</Tip>
