クイックスタート

この章では、 Sora Android SDK を使った、 シンプルなクイックスタートアプリケーションを実行するまでの流れを紹介します。

  • メディアデータ (映像と音声) の送信と受信

  • 送受信する映像の描画

  • 端末のカメラとマイクの使用

ソースコードは次のリポジトリで配布しています。

用意するもの

  • WebRTC SFU Sora バージョン 2025.1.0 以降

  • Android 5 以降 (シミュレーターは不可)

  • Android Studio バージョン 2025.2.1 以降

Sora については、ここでは次の条件での運用を仮定します。 詳しくは Sora のドキュメントを参照してください。

  • Sora のホスト名: "sora.example.com"

  • 開発者ツール: 有効

  • WebSocket の接続に WebSocket over TLS を使用

  • チャネル ID: sora

以下、アプリケーションのダウンロード、依存ライブラリのダウンロードと配置、 アプリケーションの設定と起動の順に説明します。

Android Studio のセットアップ

Android Studio をダウンロードし、 インストール方法 に従いセットアップしてください。

クイックスタートアプリケーションのダウンロード

クイックスタートアプリケーションのソースコードは sora-android-sdk-quickstart リポジトリで配布しています。

$ git clone https://github.com/shiguredo/sora-android-sdk-quickstart.git
$ cd sora-android-sdk-quickstart
$ git checkout <branch>

注釈

最新版(2025.3.0)を利用する場合は master ブランチをチェックアウトしてください。

SDK への依存設定

本アプリケーションは Sora Android SDK への依存を持ちます。 以下、設定方法を記します。GitHub からクローンしたコードベースには これらの設定は入っているため、あらためての設定は不要です。

JitPack リポジトリの追加

Sora Android SDK は JitPack から取得できます。 そのため、 settings.gradle.ktsdependencyResolutionManagement で JitPack のリポジトリを追加します。

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        // 以下の行を追加します
        maven("https://jitpack.io")
    }
}

Sora Android SDK のバージョン設定

バージョンカタログに使用する SDK のバージョンを定義します。 <version> には使用する SDK のバージョンを指定してください。最新版は 2025.3.0 です。

# gradle/libs.versions.toml
[versions]
sora-android-sdk = "<version>"

[libraries]
sora-android-sdk = { module = "com.github.shiguredo:sora-android-sdk", version.ref = "sora-android-sdk" }

この定義は次の implementation 依存の追加で参照します。

Sora Android SDK への依存を追加する

次に Sora Android SDK への依存を追加します。 SDK を利用するモジュールのビルド設定ファイル(ここでは quickstart/build.gradle.kts )に 以下の設定を追加します。バージョンカタログは libs エイリアス経由で参照できます (sora-android-sdklibs.sora.android.sdk としてアクセスできます)。

dependencies {
    // 以下の行を追加する
    implementation(libs.sora.android.sdk)
}

以上で SDK を利用するための依存設定は完了です。

アプリケーションの設定

クイックスタートアプリケーションの実行には 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.CAMERAManifest.permission.RECORD_AUDIO の権限をリクエストします。

Sora に接続する

起動したアプリケーションの画面で、 START ボタンをタップすると Sora に接続します。 このとき、「写真と動画の撮影」と「音声の録音」の許可を求めるダイアログが表示されるので許可してください。

接続に成功するとカメラ(利用可能な場合は前面カメラを優先して使用)の映像が表示されます。

接続できなかった場合は Sora のエンドポイント URL やネットワークの状態を確認してください。

このアプリケーションでは、次のパラメータで Sora に接続しています。

双方向でビデオチャットするには、例えば、PC ブラウザから Sora DevTools でマルチストリーム接続 を行うと、クイックスタートアプリケーションに相手側の映像が表示されます。 もちろん、Android 端末をもうひとつ用意して本アプリケーションをインストール、起動しても よいですし、iOS アプリケーションとのビデオチャットも可能です。

参考

© Copyright 2018-2025, Shiguredo Inc. Created using Sphinx 8.2.3