@pano.video/panortc-react-native-sdk
Version:
PanoRtc SDK For React Native
109 lines (71 loc) • 3.63 kB
Markdown
# panortc-react-native-sdk
[](https://www.npmjs.com/package/@pano.video/panortc-react-native-sdk)
[](https://www.npmjs.com/package/@pano.video/panortc-react-native-sdk)
[](https://www.npmjs.com/package/@pano.video/panortc-react-native-sdk)
[](LICENSE)
[中文](README.zh.md)
This SDK is a wrapper for [Pano SDK](https://developer.pano.video/getting-started/intro/).
## Release Note
[Changelog](CHANGELOG.md)
## Installation
### Installing
Install `panortc-react-native-sdk`:
```shell script
yarn add @pano.video/panortc-react-native-sdk
```
or
```shell script
npm i --save @pano.video/panortc-react-native-sdk
```
Go to your **ios** folder and run:
```shell script
pod install
```
## Getting Started
* See the [example](example) directory for a sample about multi-person HD audio and video calls app which using `panortc-react-native-sdk`.
## General Usage
```typescript
import RtcEngineKit { RtcEngineConfig } from '@pano.video/panortc-react-native-sdk';
let config = new RtcEngineConfig('YOUR_APP_ID');
this._engine = await RtcEngineKit.create(config);
```
## Device Permission
Pano SDK requires `camera` and `microphone` permission to start video call.
### Android
Open the `AndroidManifest.xml` file and add the required device permissions to the file.
```xml
<manifest>
...
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
...
</manifest>
```
### iOS
Open the `info.plist` and add:
- `Privacy - Microphone Usage Description`, and add a note in the Value column.
- `Privacy - Camera Usage Description`, and add a note in the Value column.
Your application can still run the voice call when it is switched to the background if the background mode is enabled. Select the app target in Xcode, click the **Capabilities** tab, enable **Background Modes**, and check **Voice over IP**.
## Using TypeScript
We suggest you use TypeScript to develop, or use TypeScript eslint to lint your code.
* [Getting Started with TypeScript](https://reactnative.dev/docs/typescript#getting-started-with-typescript)
* [Adding TypeScript to an Existing Project](https://reactnative.dev/docs/typescript#adding-typescript-to-an-existing-project)
## API
- [Android API](https://developer.pano.video/sdk/javasdk/)
- [iOS API](https://developer.pano.video/sdk/ocsdk/)
## Resources
- [Developer Center](https://developer.pano.video/)
- [FAQ](https://developer.pano.video/faq/)
- [React Native Getting Started](https://facebook.github.io/react-native/docs/getting-started.html)
## Contributing
See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
## License
BSD