---
title: "React Native SDK setup"
description: "Install and initialize Gleap in your application with the Gleap React Native SDK. Follow the integration code examples."
url: https://docs.gleap.ai/en/articles/499-react-native-sdk-setup
collection: "React Native"
updated: 2026-11-01
language: en
---

# React Native SDK setup

Install and initialize Gleap in your application with the Gleap React Native SDK. Follow the integration code examples.

The Gleap SDK for React Native is the easiest way to integrate Gleap into your apps. Communicate with your users directly and build better software by discovering their everyday pain points. Gleap is your all-in-one customer feedback tool for apps and websites.

For the SDK to work, you need an API key, which you can get for free at [app.gleap.ai](https://app.gleap.ai).

> **Tip:** **ReactNative Expo** is now fully supported with the latest RN SDK. You can find a full [Expo installation guide here](https://gleap-developer-docs.gleap.help/en/articles/530-react-native-expo-guide).

#### Supported platforms

<table style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>✅ iOS</p></th><th colspan="1" rowspan="1"><p>✅ Android</p></th><th colspan="1" rowspan="1"><p>✴️ Web (<a target="_blank" rel="noopener noreferrer nofollow" class="linktype-link link" data-linktype="link" href="https://gleap-developer-docs.gleap.help/en/articles/393-javascript-sdk-setup">see setup</a>)</p></th></tr></tbody></table>

## 🏗 Installation

Install the Gleap ReactNative SDK through `npm` .

```javascript
npm install react-native-gleapsdk --save
```

In some cases, you might need to reinstall the native dependencies.

**Install native dependencies for Android:**

Open Android Studio and `sync your gradle` project.

**Install native dependencies for iOS:**

Open your `/ios` folder and run `pod install`.

The iOS SDK requires **iOS 15.0** or later and **React Native 0.75** or later (Expo SDK 52 or later). `pod install` adds the [Gleap iOS SDK](https://github.com/GleapSDK/Gleap-iOS-SDK) as a Swift package to the `Pods` project through React Native's `spm_dependency`, and Xcode resolves it on the next build. You don't add the package to your app yourself; your Podfile only needs to call `react_native_post_install` in its `post_install` hook, as the React Native and Expo templates do.

> **Note:** `pod install` may warn that a Swift package with static linking "might cause linker errors". You can ignore it: the SDK builds with the default static linkage as well as with `USE_FRAMEWORKS=dynamic`.

> **Warning:** On React Native older than 0.75, `pod install` falls back to the `Gleap` pod from CocoaPods trunk and prints a warning. CocoaPods trunk becomes read-only on December 2, 2026, so only Gleap iOS SDK versions published before then are available this way.

### 👷‍♂️ Initialize the SDK

Open your preferred development tool and add the following to your **index.js**.

```javascript
import Gleap from 'react-native-gleapsdk';
```

After importing the Gleap SDK add the following line to your **index.js**. Please make sure that it gets executed only once.

```javascript
Gleap.initialize("Your_TOKEN");
```

_You don't have an API key?_ Get one for free [here](https://app.gleap.ai).

> **Tip:** You are all set now! **Run the app and report your first bug 🎉.**

### 🌍 Data region

Gleap stores and processes your data in the region you selected at signup: EU (default) or US. If your project lives in the US region, select the region **before** initializing the SDK (requires SDK v18.0.0 or newer). EU projects don't need this call.

```javascript
Gleap.setRegion("us");
Gleap.initialize("Your_TOKEN");
```

See [Data regions](https://gleap-developer-docs.gleap.help/en/articles/711-data-regions) for all hosts and details.

## Required permissions (Android)

In order to use the image picker for attachments, add the following permissions to your `AndroidManifest.xml`.

```javascript
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
```

The following permissions are needed to enable audio recordings.

```javascript
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-feature android:name="android.hardware.audio.pro" android:required="false" />
<uses-feature android:name="android.hardware.microphone" android:required="false" />
```

## Required permissions (iOS)

In order to use the image picker for attachments, add the following permissions to your `Info.plist`.

```javascript
<key>NSPhotoLibraryUsageDescription</key> <string>We need access to your photo library to allow you to select an image.</string> 

<key>NSCameraUsageDescription</key> <string>We need access to your camera to take photos.</string> 
```

The following permissions are needed to enable audio recordings.

```javascript
<key>NSMicrophoneUsageDescription</key> <string>We need access to your microphone to record audio with videos.</string>
```

## 🤝 Need help?

We are here to help, simply drop us an email at [hello@gleap.ai](mailto:hello@gleap.ai).

## Related

- [React Native SDK: User identity](https://docs.gleap.ai/en/articles/500-react-native-sdk-user-identity.md)
- [React Native SDK: Track events](https://docs.gleap.ai/en/articles/501-react-native-sdk-track-events.md)
- [React Native SDK: Track pages](https://docs.gleap.ai/en/articles/502-react-native-sdk-track-pages.md)
- [React Native SDK: Frontend tools](https://docs.gleap.ai/en/articles/503-react-native-sdk-frontend-tools.md)
- [React Native SDK: Forms](https://docs.gleap.ai/en/articles/504-react-native-sdk-forms.md)
