Home Reference Source

React Native WebRTC Kit

libwebrtc GitHub tag npm version License

React Native WebRTC Kit は、 React Native アプリケーションから WebRTC ネイティブライブラリを使うためのライブラリです。
本ライブラリを使うと、マルチプラットフォームに対応する WebRTC ネイティブアプリケーションを React Native で開発できます。

時雨堂のオープンソースソフトウェアについて

利用前に https://github.com/shiguredo/oss をお読みください。

利用 libwebrtc バージョン

本ライブラリは WebRTC M88 を利用しています。

Web API (ブラウザ) との互換性について

本ライブラリの API は できるだけ WebRTC の Web API に近づけていますが、 ネイティブ API では実装が難しい API や本ライブラリの都合で同一にできない API があります。

相違点については ドキュメント を参照してください。

About Support

We check PRs or Issues only when written in JAPANESE. In other languages, we won't be able to deal with them. Thank you for your understanding.

サンプルコード

サンプルコードは https://github.com/react-native-webrtc-kit/react-native-webrtc-kit-samples にあります。

ドキュメント

ドキュメントは https://react-native-webrtc-kit.shiguredo.jp/ にあります。

システム要件

iOS アプリケーションの開発

Android アプリケーションの開発

また、以下の機能について、Android は未対応です。

WebRTC ライブラリについて

本ライブラリが利用する WebRTC ライブラリは、デフォルトの設定では弊社がビルドしたバイナリを指定しています。
このバイナリは弊社製品用の設定でビルドしてあるので、他のバイナリを使いたい場合は次の方法で入れ替えてください。

 dependencies {
     implementation 'com.facebook.react:react-native:+'
     // api "com.github.react-native-webrtc-kit:webrtc-android:88.4324.2.0"
     implementation "androidx.annotation:annotation:1.1.0"
     api fileTree(dir: 'libs')
 }

Issues について

質問やバグ報告する場合は次の開発環境のバージョンを 「メジャーバージョン、マイナーバージョン、メンテナンスバージョン」 まで含めて書いてください (9.4.1など) 。
これらの開発環境はメンテナンスバージョンの違いでも Sora iOS SDK の挙動が変わる可能性があります。

継続的な更新

今後の予定

モバイルだけでなくデスクトップでも利用可能な仕組みを提供していきます。

ライセンス

Copyright 2018-2019, Masashi Ono aka akisute (Original Author)
Copyright 2018-2020, Shiguredo Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.