> ## 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 React Native SDK

> Install the MoEngage React Native plugin, configure Android and iOS, and initialize the SDK from a config file or in code.

Integrating the MoEngage React Native plugin takes two steps: install the plugin and its native dependencies, then initialize the SDK. Choose the path that matches your project, **React Native** or **Expo**.

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

## React Native

### SDK Installation

| Page | What it covers |
| - | - |
| [Framework Dependency](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/framework-dependency.md) | Install the plugin with npm and link native dependencies. |
| [Android Build Configuration](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/android.md) | Configure Android build settings and dependencies. |
| [iOS](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/ios.md) | Set up iOS dependencies with CocoaPods or Swift Package Manager. |

### File Based Initialization

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

### Manual Initialization

| Page | What it covers |
| - | - |
| [Framework Initialization](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/manual-initialization/framework-initialization.md) | Initialize the plugin in `App.js` or `App.ts` after the component mounts. |
| [Android](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/manual-initialization/android.md) | Initialize the SDK in your Android `Application` class. |
| [iOS](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/manual-initialization/ios.md) | Initialize the SDK in your iOS `AppDelegate`. |

## Expo

| Page | What it covers |
| - | - |
| [Installation](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/expo/installation.md) | Add the SDK with `npx expo install`. |
| [Configure the MoEngage Expo SDK](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/expo/configure-the-moengage-expo-sdk.md) | Set plugin parameters and platform-specific initialization files. |
| [Initialization](https://moengage.com/docs/developer-guide/react-native-sdk/sdk-integration/expo/initialization.md) | Initialize the SDK to activate tracking and messaging. |

## Advanced

| Page | What it covers |
| - | - |
| [JWT Authentication](https://moengage.com/docs/developer-guide/react-native-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/react-native-sdk/sdk-integration/limitations.md) before you plan your integration. Some features are not supported in the plugin or need native implementation.


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