クイックスタート

この章では、devtools を使って Sora Flutter SDK の動作を確認するまでの最短手順を説明します。

devtools は Sora への接続確認や SDK の動作検証に使える Flutter アプリケーションです。 ソースコードは次のリポジトリで配布しています。

用意するもの

  • Dart 3.11.1 以上と Flutter 3.44.0 以上がセットアップ済みであること

    Flutter のセットアップについては Flutter ドキュメント をご確認ください。

  • 利用する Sora 環境があり、接続できる状態であること

    Sora については Sora ドキュメント をご確認ください。

  • 接続先の Sora シグナリング URL が分かっていること
  • 接続先のチャネル ID が決まっていること

動作環境

プラットフォーム

要件

Android

Android 10 (API 29) 以降の実機

iOS / iPadOS

iOS 16 / iPadOS 16 以降の実機 (シミュレーターは非推奨)

macOS

macOS 15 以降、Apple Silicon

Windows

Windows 10 20H2 以降、x86_64

Linux

Ubuntu 24.04、x86_64

ソースコードの入手

$ git clone https://github.com/shiguredo/sora-flutter-sdk.git
$ cd sora-flutter-sdk
$ git checkout develop
$ cd devtools

依存関係の取得

以降のコマンドは SDK の devtools ディレクトリで実行します。

$ flutter pub get

接続情報の設定

接続する Sora のシグナリング URL とチャネル ID を設定します。 設定ファイルのテンプレートをコピーし、環境に合わせて編集してください。

$ cp lib/configs/environment.example.dart lib/configs/environment.dart

lib/configs/environment.dart を開き、Environment.urls と Environment.channelId を設定します。 Environment.urls はシグナリング URL のリストです。

class Environment {
  static const urls = <String>['wss://sora.example.com/signaling'];
  static const channelId = 'sora-example-channel-id';
}

environment.dart は devtools の .gitignore で除外されています。 接続先を設定したこのファイルを Git の管理対象へ追加しないでください。

ロール、音声、映像の設定は、起動後に Connect ボタンから開く接続設定画面で変更します。 既定値は Role が sendrecv 、Connect Audio と Connect Video が true です。

起動

端末をマシンに接続するか、エミュレーター / シミュレーターを起動した状態で実行します。

# 接続されているデバイス一覧を確認する
$ flutter devices

# デバイスを指定して起動する
$ flutter run -d <device-id>

デバイスが 1 つだけの場合は -d を省略できます。

$ flutter run

Sora に接続する

アプリケーションが起動したら、接続設定を確認して Connect ボタンを押すと Sora に接続します。

  • Role を sendrecv にすると、音声と映像を送受信します
  • Role を recvonly にすると、カメラとマイクを使わずに受信します
  • 音声だけを送信する場合は、sendrecv または sendonly にして Connect Audio を true 、Connect Video を false にします

sendrecv で音声と映像を送信する場合は、カメラとマイクが必要です。 実機での確認を推奨します。 エミュレーター / シミュレーターに入力デバイスがない場合は、recvonly または映像を無効にした設定で確認してください。 recvonly で受信するには、同じチャネルへ映像または音声を送信する別のクライアントが必要です。

  • Android ではカメラとマイクの権限許可を求めるダイアログが表示されます。許可してください。
  • iOS / iPadOS では初回起動時にカメラとマイクの権限許可を求めるダイアログが表示されます。許可してください。
  • macOS ではシステム環境設定からカメラとマイクのアクセスを許可する必要があります。

接続に成功すると、画面の接続状態に State: connected と表示されます。 映像送信を有効にした場合はローカル映像も表示されます。 接続できなかった場合は Sora のシグナリング URL やネットワークの状態を確認してください。

双方向でビデオチャットするには、別のクライアントから同じチャネル ID で接続してください。 Sora DevTools や別の Sora SDK を使ったクライアントと相互に通信できます。

関連ページ