# zego-express-engine-reactnative

> React Native Zego Express Video for Android & iOS

Latest version **3.25.0** (published 2026-10-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install zego-express-engine-reactnative
pnpm add zego-express-engine-reactnative
yarn add zego-express-engine-reactnative
bun add zego-express-engine-reactnative
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 3.25.0 |
| Published | 2026-10-16 |
| First published | 2020-08-31 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 1.3 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | zego.im |
| Maintainers | zegodev, zhubo1001, manhozhu, tgzzltest, haleycai, zego_keen, leanwang9527, chengji_program_publish, jiehe, yeo_program_publish, failtehu, c050820063, wuyaolin |
| Keywords | zego, express, sdk, rtc, react-native |

## Links

- npm: https://www.npmjs.com/package/zego-express-engine-reactnative
- npm.io page: https://npm.io/package/zego-express-engine-reactnative

## Recent versions

- 3.25.0 (latest) — 2026-10-16
- 3.22.1-private.66 (private) — 2026-10-09
- 3.19.0-copyrightedmusic.15 (copyrightedmusic) — 2025-04-07
- 3.19.0-43419 (alpha) — 2025-04-03
- 3.20.2-43751 (next) — 2025-04-02
- 3.22.1-private.65 — 2026-07-24
- 3.24.1-private.64 — 2026-07-23
- 3.24.1-private.60 — 2026-05-13
- 3.24.1-private.54 — 2026-05-12
- 3.22.1-private.53 — 2026-03-04
- 3.22.1-private.52 — 2026-02-06
- 3.22.1-private.51 — 2025-12-24
- 3.22.0 — 2025-09-19
- 3.21.0-private.38 — 2025-07-09
- 3.21.0-private.37 — 2025-06-27
- … 61 more at https://npm.io/package/zego-express-engine-reactnative/versions

## README

# zego-express-engine-reactnative

[English](https://github.com/zegoim/zego-express-reactnative-sdk/blob/master/README.md) | [中文](https://github.com/zegoim/zego-express-reactnative-sdk/blob/master/README_zh.md)

ZegoExpressEngine Audio/Video ReactNative SDK is a react-native wrapper based on [ZegoExpressEngine](https://doc-en.zego.im/en/693.html) native Android / iOS SDK, providing live video and real-time audio/video services. It only needs 4 lines of code and can be easily accessed in 30 minutes.

Learn more about the solution: [https://www.zego.im](https://www.zego.im)

## 1️⃣ Apply for ZEGO AppID

Log in to [ZEGO Official Website](https://www.zego.im) to register an account, select a scenario according to your actual business needs, and obtain AppID and App Sign for initializing the SDK.

## 2️⃣ Import `zego-express-engine-reactnative` (only support react-native >= 0.60)

In your project, you can type in:

`npm install zego-express-engine-reactnative --save`

or

`yarn add zego-express-engine-reactnative`

Next, In **iOS**, you should `cd` to `ios` folder, and execute this command:

`pod install`

Now, you can use `zego-express-engine-reactnative` module in your project by using javascript or typescript(recommended)

## 3️⃣ Add device permissions

### Android

Open the file `app/src/main/AndroidManifest.xml`, and add the following contents:

```xml
    <!-- Permissions required by the SDK -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- Permissions required by the App -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
```

> Note: Because Android 6.0 requires dynamic permissions for some of the more important permissions, you cannot apply for static permissions only through the `AndroidMainfest.xml` file. Therefore, you need to refer to the following code

```javascript
import {PermissionsAndroid} from 'react-native';

const granted = PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.CAMERA,
                                        PermissionsAndroid.RECORD_AUDIO);
granted.then((data)=>{

        if(!data) {
            const permissions = [PermissionsAndroid.PERMISSIONS.RECORD_AUDIO, PermissionsAndroid.PERMISSIONS.CAMERA];
            PermissionsAndroid.requestMultiple(permissions);
        }
    }).catch((err)=>{
    console.log(err.toString());
    })
}
```

### iOS

Choose the option TARGETS -> Info -> Custom iOS Target Properties

![Add iOS Privacy](https://storage.zego.im/sdk-doc/Pics/iOS/ZegoExpressEngine/Common/privacy-description.png)

Click the + Add button to add camera and microphone permissions.

1. `Privacy - Camera Usage Description`

2. `Privacy - Microphone Usage Description`

After adding permissions, it will be as shown:

![Add iOS Privacy Done](https://storage.zego.im/sdk-doc/Pics/iOS/ZegoExpressEngine/Common/privacy-description-done.png)

## 4️⃣ Init SDK

```javascript
import React, { Component } from 'react';
import ZegoExpressEngine from 'zego-express-engine-reactnative';

export default class App extends Component<{}> {

    componentDidMount() {
        ZegoExpressEngine.createEngineWithProfile({appID: 1234567890, scenario: ZegoScenario.General}).then((engine) => {
            if(engine != undefined)
                console.log("init sdk success");
            else
                console.log("init sdk failed");
        });
    }
}
```

## 5️⃣ FAQ

### 1. Can I integrate SDK with versions below 0.60?

No. `zego-express-engine-reactnative` only supports ReactNative versions of 0.60 or above, otherwise, please upgrade your project version.

### Do I need a manual link this native module?

No. Automatic Link is supported in versions 0.60 or above, so you **don't need** to execute this command:

`react-native link zego-express-engine-reactnative`

---
_Source: https://npm.io/package/zego-express-engine-reactnative · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
