開発環境の設定

開発環境をどのように設定するかは、開発フェーズに応じて変わります。完全なローカル設定は、作業初期段階で必要になりますが、完全なテストやリリースには、クラウドベースの設定が必要になります。

拡張機能の様々な開発ステージについては、Extensions Life-Cycle Management を参照してください。

環境設定

Genvid MILE SDK の Twitch 拡張機能を作成するには、主に 3 つのフェーズがあり、開発環境を変更する必要がでてきます。

以下のテーブルで、それぞれの開発環境の違いを説明しています。

Twitch Dev モード クラスタモード 説明
ローカルモードでの Twitch Developer Rig と拡張機能
ローカル Bastion
ローカルクラスタ
Twitch アカウントにストリーミングを行い、Twitch Developer Rig をローカルで開発します。
バックエンドに CORS/SSL が必要。
ホストされたテストでの Twitch 拡張機能
ローカル Bastion
リモートクラスタ
Twitch アカウントにストリーミングを行い、Twitch でアセットファイルをホストします。
バックエンドに CORS/SSL が必要。
リリースされた Twitch 拡張機能
ローカル Bastion
リモートクラスタ
Twitch アカウントにストリーミングを行います。
バックエンドに CORS/SSL が必要。
スケーラビリティが向上。

注釈

Content Security Policy (CSP) ディレクティブの新しい拡張機能ポリシーとその実施スケジュール`_のリリース以降 <New Extensions policy for Content Security Policy (CSP) directives and timeline for enforcement>_ 、拡張機能を Hosted Test または Release mode で実行する場合、開発者コンソールの拡張機能の Capabilities タブにある Allowlist for URL Fetching Domains に次のエンドポイントを追加する必要があります。

ENDPOINT コンフィグ設定値
Web エンドポイント twitch/cloud/endpoint/web https://<web_endpoint>
Leaf endpoint twitch/cloud/endpoint/leaf https://<leaf_endpoint>
Leaf Endpoint (WebSocket) twitch/cloud/endpoint/leaf wss://<leaf_endpoint>

ローカル開発 (ローカル Bastion / ローカルクラスタ)

ローカルクラスタの設定方法については、ローカルクラスタの開始 を参照してください。

ローカルクラスタを設定後、以下の設定を行う必要があります。

  • CORS を使用する Web バックエンドを構成する。
  • Web バックエンドに SSL 証明書を提供する。

Twitch 拡張機能の開発環境の設定には、いくつかの追加ステップが必要です。

  • Twitch Streaming Service を使用することを指定する。

  • ストリームを Twitch Ingest Service (Twitch) に送信する。

  • アカウントにストリーミングできるように、Twitch Channel ID と Stream Key を指定する。

    (これらの設定は Twitch アカウントで行います)

これらの設定の詳細は、 config フォルダにある stream.hcl ファイルを使用して設定することができます。次の表は、変更する必要のあるすべての変数を含んでいます。

環境変数 説明
TWITCH_EXT_CHANNEL Twitch チャンネル名 (ユーザー名)。
TWITCH_EXT_KEY Twitch アカウントキー (ダッシュボードとチャンネルに記載されています)。
TWITCH_SSL ローカルテスト (Twitch) の場合は true、ホストされたテスト (またはライブ) では true
ENDPOINT クラウドクラスタを使用する場合、DNS URL (プロトコル http/https を指定しない)。この値は、自動的に生成されます。
TWITCH_EXT_SECRET Twitch 拡張機能アプリケーションのシークレットキーで、サーバー側の JWT デコードに必要。 (Webgateway API)

ファイルを更新したら、それをクラスタ構成にロードする必要があります。DirectX Sample の場合は、 directx.py スクリプトでこれを行います。

py directx.py load

ホストされたテスト (ローカル Bastion / リモートクラスタ)

リモートクラスタの設定については、Twitch 拡張機能の Terraform サンプル を参照してください。

リモートクラスタを設定後、以下の設定を行う必要があります。

  • CORS を使用する Web バックエンドを構成する。
  • Web バックエンドに SSL 証明書を提供する。

拡張機能のリリース (プロダクション) (ローカル Bastion / リモートクラスタ)

リモートクラスタの設定については、Twitch 拡張機能の Terraform サンプル を参照してください。

リモートクラスタを設定後、以下の設定を行う必要があります。

  • CORS を使用する Web バックエンドを構成する。
  • Web バックエンドに SSL 証明書を提供する。

Twitch 拡張機能のリリースバージョンは、スケーラビリティのためにビルドする必要があります。つまり:

  • 拡張機能から Twitch API への API 呼び出しは効率的です。
  • Web バックエンドへの API 呼び出しは効率的です。
  • インフラストラクチャはスケーラブルです。