クイックスタート¶
この章では、 Sora Android SDK を使った、 シンプルなクイックスタートアプリケーションを実行するまでの流れを紹介します。
メディアデータ (映像と音声) の送信と受信
送受信する映像の描画
端末のカメラとマイクの使用
ソースコードは次のリポジトリで配布しています。
用意するもの¶
WebRTC SFU Sora バージョン 2025.1.0 以降
Android 5 以降 (シミュレーターは不可)
Android Studio バージョン 2025.1.1 以降
Sora については、ここでは次の条件での運用を仮定します。 詳しくは Sora のドキュメントを参照してください。
Sora のホスト名: "sora.example.com"
開発者ツール: 有効
WebSocket の接続に WebSocket over TLS を使用
チャネル ID: sora
以下、アプリケーションのダウンロード、依存ライブラリのダウンロードと配置、 アプリケーションの設定と起動の順に説明します。
Android Studio のセットアップ¶
Android Studio をダウンロードし、 インストール方法 に従いセットアップしてください。
クイックスタートアプリケーションのダウンロード¶
クイックスタートアプリケーションのソースコードは sora-android-sdk-quickstart リポジトリで配布しています。 git コマンドでリポジトリをクローンして、利用したいタグをチェックアウトしてください (例: sora-android-sdk-2025.2.0 )
$ git clone https://github.com/shiguredo/sora-android-sdk-quickstart.git
$ cd sora-android-sdk-quickstart
$ git checkout <tag>
SDK への依存設定¶
本アプリケーションは Sora Android SDK への依存を持ちます。 以下、設定方法を記します。GitHub からクローンしたコードベースには これらの設定は入っているため、あらためての設定は不要です。
JitPack リポジトリの追加¶
Sora Android SDK は JitPack から取得できます。
そのため、トップレベルの build.gradle
で JitPack のリポジトリを追加します。
allprojects {
repositories {
jcenter()
google()
maven { url 'https://jitpack.io' } // この行を追加する
}
}
Sora Android SDK のバージョン設定¶
同じ build.gradle
にて、SDK のバージョンを定義しておきましょう。
<version>
は使用する SDK のバージョンを入れてください。最新版は
2025.2.0 です。
buildscript {
// 中略
ext.sora_android_sdk_version = '<version>' // この行を追加する
}
この定義は次の implementation 依存の追加で参照しますが、定義を省略して、次の設定に直接値を設定しても構いません。
Sora Android SDK への依存を追加する¶
次に Sora Android SDK への依存を追加します。
SDK を利用するモジュールのビルド設定ファイル(ここでは quickstart/build.gradle
)に
以下の設定を追加します。
dependencies {
// 中略
// 以下の 3 行を追加する
implementation("com.github.shiguredo:sora-android-sdk:${sora_android_sdk_version}@aar") {
transitive = true
}
}
以上で SDK を利用するための依存設定は完了です。
補足 transitive
を指定しない場合は libwebrtc のバージョンとして 138.7204.0.5 を指定してください。
api "com.github.shiguredo:shiguredo-webrtc-android:${libwebrtc_version}"
警告
libwebrtc のバージョンは Sora Android SDK のバージョンと個別に指定可能ですが、特定バージョンのみで動作を確認しています。 必ず SDK バージョンに対応する libwebrtc のバージョンを指定してください。
アプリケーションの設定¶
クイックスタートアプリケーションの実行には Sora の URL を設定する必要があります。
Sora の URL を gradle.properties
に設定します。
gradle.properties.example
を元に gradle.properties
を作成します。
$ cp gradle.properties.example gradle.properties
このファイルでは、接続する Sora のシグナリングエンドポイント URL signaling_endpoint
を指定します。環境に応じて設定してください。
好みでチャネル ID channel_id
の指定も可能です(そのままでも結構です)。
gradle.properties
:
# Setting Sora's signaling endpoint and channel_id
signaling_endpoint = wss://sora.example.com/signaling
channel_id = sora
以上でアプリケーションの設定は完了です。 クローンしたディレクトリを Android Studio で開き、アプリケーションの起動を行ってください。
アプリケーションの起動¶
Android 端末をマシンに接続します。Sora Android SDK はシミュレーターに対応していません。実機を利用してください。 そして、接続した Android 端末を選択してビルド・実行します (メニュー "Run" > "Run (quickstart)")。
起動したアプリケーションの画面で、 START ボタンをタップすると映像、音声の送受信処理が開始されます。
カメラとマイクの権限許可を取得する¶
Sora Android SDK で映像の送受信を行うにはカメラ(android.permission.CAMERA) と音声(android.permission.RECORD_AUDIO)の権限許可が必要です。
クイックスタートアプリケーションでは上記の権限を取得するために、接続開始時に
Manifest.permission.CAMERA
と Manifest.permission.RECORD_AUDIO
の権限をリクエストします。
Sora に接続する¶
起動したアプリケーションの画面で、 START ボタンをタップすると Sora に接続します。 このとき、「写真と動画の撮影」と「音声の録音」の許可を求めるダイアログが表示されるので許可してください。
接続に成功するとカメラ(利用可能な場合は前面カメラを優先して使用)の映像が表示されます。
接続できなかった場合は Sora のエンドポイント URL やネットワークの状態を確認してください。
このアプリケーションでは、次のパラメータで Sora に接続しています。
Sora への接続
映像コーデック: VP9
音声コーデック: OPUS
双方向でビデオチャットするには、例えば、PC ブラウザから Sora DevTools でマルチストリーム接続 を行うと、クイックスタートアプリケーションに相手側の映像が表示されます。 もちろん、Android 端末をもうひとつ用意して本アプリケーションをインストール、起動しても よいですし、iOS アプリケーションとのビデオチャットも可能です。
参考¶
PC ブラウザからのアクセス: Sora 開発者ツール
Sora iOS SDK: Sora iOS SDK のドキュメント