質問・問題
クライアントで Cloud Proxy をコールするためのメソッドとパラメータを教えてください。
回答・解決方法
このページでは、強制Cloud Proxy利用モード(パラメータ3及び5)を利用するにあたって、コールする必要のあるメソッドとパラメータについてご説明します。前提として、クライアントSDKバージョンは以下の通りとします。
自動(フォールバック)については、以降でご説明するSDKバージョン(Web SDK 4.11.0+ / Native SDK 3.7.0+)ではデフォルトの動作となりますので、ここではご説明しておりません。ご了承ください。
Voice/Video/Live Streaming SDK
- Web SDK : 4.11.0以降
- Native SDK : 3.7.0以降
* 2022年3月現在、RTM・On-Premise Recordingには対応していません。
以下にて、それぞれのプラットフォームごとにコール方法をご説明いたします。
Web SDK
チャンネルに参加する前に、startProxyServer メソッドを呼び出しクラウドプロキシサービスを有効にし、modeパラメータを設定してください。
Force UDPモード (モード3)
UDP プロトコルの Cloud Proxy(Force UDP)モードを使用する。このモードでは、SDKは常にUDPでデータを転送します。
const client = AgoraRTC.createClient({mode: 'live',codec: 'vp8'}); // Enable the cloud proxy. client.startProxyServer(3); // Join a channel. client.join("", "").then(() => { /** ... **/ });
Force TCPモード (モード5)
TCP/TLSプロトコルの Cloud Proxy(Force TCP)モードを使用する。このモードでは、SDKは常にTCP/TLS 443でデータを送信します。
const client = AgoraRTC.createClient({mode: 'live',codec: 'vp8'}); // Enable the cloud proxy. client.startProxyServer(5); // Join a channel. client.join("", "").then(() => { /** ... **/ });
Cloud Proxy を有効にした後、音声通話やビデオ通話、ライブストリーミングが機能するかどうかをテストしてください。Web SDK は client.on("is-using-cloud-proxy") イベントを提供します。ローカルクライアントがメディアストリームを正常にパブリッシュした後、SDKはこのイベントをトリガーして、メディアストリームがCloud Proxy によって転送されたかどうかを確認することができます。
また、Cloud Proxyの利用を終了するには、 チャンネルから退出した後で stopProxyServer メソッドをコールします。より詳しい内容はこちらを参照ください。
Native SDK
チャンネルに参加する前に、setCloudProxy メソッドを呼び出しクラウドプロキシサービスを有効にし、proxyType パラメータを設定してください。
Force UDPモード (モード 1)
UDP プロトコルの Cloud Proxy(Force UDP)モードを使用する。このモードでは、SDKは常にUDPでデータを転送します。
Force TCPモード (モード 2)
TCP/TLSプロトコルの Cloud Proxy(Force TCP)モードを使用する。このモードでは、SDKは常にTCP/TLS 443でデータを送信します。
Cloud Proxyの利用を終了するには、 チャンネルから退出した後で setCloudProxyメソッドを NONE_PROXY(0) のパラメータでコールします。
また、Force UDPモードはCDNへのストリームのプッシュ(push streams to CDN)やチャンネル間のストリームの中継(channel relay)をサポートしていません。より詳しい内容はこちらより、また各プラットフォーム別のメソッドの詳細は以下のリンクを参照ください。
4.x API
- Android:setCloudProxy
- iOS:setCloudProxy
- macOS:setCloudProxy
- Windows: setCloudProxy
3.x API
- Android:setCloudProxy
- iOS:setCloudProxy
- macOS:setCloudProxy
- Windows: setCloudProxy