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

# Integrating the Flutter SDK

> Add the moengage_flutter package to your project, configure Android, iOS, and web, and initialize the SDK from a config file or in code.

Integrating the MoEngage Flutter SDK takes two steps: add the `moengage_flutter` package and its native dependencies, then initialize the SDK.

Initialization comes in two forms. File-based initialization keeps configuration in native config files; manual initialization sets it in code on each platform.

## SDK Installation

| Page | What it covers |
| - | - |
| [Framework Dependency](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-installation/framework-dependency.md) | Add `moengage_flutter` to your `pubspec.yaml`. |
| [Android](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-installation/android.md) | Add the required Android dependencies and AndroidX libraries. |
| [iOS](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-installation/ios.md) | Set up the iOS dependency with CocoaPods or Swift Package Manager. |

## File Based Initialization

| Page | What it covers |
| - | - |
| [File Based Initialization](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/file-based-initialization/file-based-initialization.md) | Configure initialization through native config files instead of code. |
| [Migration and Precedence](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/file-based-initialization/migration-and-precedence.md) | Move from code-based initialization to file-based configuration. |

## Manual Initialization

| Page | What it covers |
| - | - |
| [Framework Initialization](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/manual-initialization/framework-initialization.md) | Initialize `MoEngageFlutter` in your app widget's `initState`. |
| [Android SDK Initialization](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/manual-initialization/android-sdk-initialization.md) | Initialize the SDK in your Android application class. |
| [iOS SDK Initialization](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/manual-initialization/ios-sdk-initialization.md) | Initialize the SDK in your iOS `AppDelegate`. |
| [Web SDK Initialization](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/web-sdk-initialization.md) | Add the Web SDK initialization script to your Flutter web `index.html`. |

## Advanced

| Page | What it covers |
| - | - |
| [JWT Authentication](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/advanced/jwt-authentication.md) | Secure data collection by authenticating SDK requests with a JWT. |

> [!NOTE]
>
> Review [Limitations](https://moengage.com/docs/developer-guide/flutter-sdk/sdk-integration/limitations.md) before you plan your integration. Some features are unsupported or need native implementation.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.