Skip to content

React Native around the Agora RTC SDKs for Android and iOS agora

License

Notifications You must be signed in to change notification settings

boemjay/react-native-agora

 
 

Repository files navigation

FORK Reason

This fork only exists to temporarily solve this issue.

I basically only replaced the Agora dependency for android binding to 'io.agora.rtc:full-sdk:3.6.0', which removed this problem for me.

To use this fix, either build your own npm package or use my prebuilt package, based on this repository: react-native-agora-android-echo-fix

react-native-agora

npm npm npm npm

中文

This SDK takes advantage of React Native and Agora RTC Video SDK on Android && iOS.

Community Contributor

The community developer Syanbo developed 1.0 version React Native SDK based on the Agora Native SDK from 2016 to 2017. As the community's demand for React Native SDK keeps growing, Agora has achieved official cooperation with Syanbo, this project now is officially maintained by Agora. Thanks to Syanbo for his long-term contributions to React Native SDK.

Release Note

Changelog

Installation

Installing (React Native >= 0.60.0)

Install react-native-agora(^3.0.0):

yarn add react-native-agora

or

npm i --save react-native-agora

Go to your ios folder and run:

pod install

_ IMPORTANT _

Native Modules are now Autolinked.

Migrating to Swift.

Installing (React Native == 0.59.x)

Install react-native-agora(^3.0.0):

yarn add react-native-agora

or

npm i --save react-native-agora

_ IMPORTANT _

Android Installation

iOS Installation

Installing (React Native <= 0.58.x)

_ IMPORTANT _

We no longer support, you can try the older version.

Install react-native-agora(^1.0.0)

Install react-native-agora(^2.0.0)

General Usage

import RtcEngine from 'react-native-agora';
RtcEngine.create('YOUR APP ID');

or

const RtcEngine = require('react-native-agora');
RtcEngine.create('YOUR APP ID');

Using TypeScript

We suggest you use TypeScript to develop, or use TypeScript eslint to lint your code.

Troubleshooting

Pod install failed (React Native >= 0.62.0)

The error log:

[!] The 'xxx' target has libraries with conflicting names: libcrypto.a.

You should disable Flipper, you can found it in the Podfile, and comment the code about Flipper in AppDelegate.

  # Enables Flipper.
  #
  # Note that if you have use_frameworks! enabled, Flipper will not work and
  # you should disable these next few lines.
  add_flipper_pods!
  post_install do |installer|
    flipper_post_install(installer)
  end

RCT_EXTERN_MODULE Swift modules broken in Xcode 10.2

The error log:

Swift class extensions and categories on Swift classes are not allowed to have +load methods

Fixed in React Native 0.59.3.

Source: facebook/react-native#24139

XCode 11 Beta App Launch Crash

The error log:

Exception '*** -[__NSArrayM objectAtIndexedSubscript:]: index 1 beyond bounds [0 .. 0]' was thrown while invoking getCurrentAppState on target AppState with params (
2,
3
)

Fixed in React Native 0.59.9.

Source: facebook/react-native#25154

API

Resources

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

About

React Native around the Agora RTC SDKs for Android and iOS agora

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • TypeScript 61.8%
  • Swift 16.3%
  • Kotlin 16.1%
  • Java 4.2%
  • Objective-C 1.1%
  • JavaScript 0.2%
  • Other 0.3%