アプリサーバーデータ
アプリケーションは、1対1通話を作成したり、グループ通話(カンファレンス)に参加したりする際にアプリクライアントとアプリサーバーとの間でアプリケーションデータを共有できます。このため、アプリクライアントからアプリサーバーに送信するアプリケーションデータをアプリサーバーデータ(app server data)といいます。
| 対応する通話タイプ | SDKの最低バージョン |
|---|---|
| 1対1通話、グループ通話 | すべてのバージョン |
Note
- アプリサーバーデータは、PlanetKit 5.0.x以下のバージョンで提供する「サービスチケットID」と機能的に同じものです。PlanetKit 5.1以上のバージョンから機能の名称だけが変更されました。
- 以前にサーバーコールバックでサービスチケットIDを転送するために使用されていた
stidパラメーターはdeprecatedされました。代わりに、アプリサーバーデータはサーバーコールバックのapp_svr_dataパラメーターとして転送されます。
アプリサーバーデータを送信する
通話のタイプによってアプリサーバーデータを送信する方法について説明します。
1対1通話
1対1通話では、発信者だけがアプリサーバーデータを送信できます。
1対1通話でアプリサーバーデータを送信するには、PlanetKitCallParamにアプリサーバーデータを設定し、makeCall()を呼び出す際にPlanetKitCallParamを渡します。
let appServerData = "App server data for a 1-to-1 call"
let param = PlanetKitCallParam(myUserId: myUserId, peerUserId: peerUserId, delegate: delegate, accessToken: accessToken)
param.appServerData = appServerData
let result = PlanetKitManager.shared.makeCall(param: param)
アプリサーバーデータは、サーバーコールバックの Notifyコールバックおよび1対1通話のイベントコールバックのapp_svr_dataパラメーターで渡されます。
グループ通話
グループ通話では、参加者全員がアプリサーバーデータを送信できます。
グループ通話でアプリサーバーデータを送信するには、PlanetKitConferenceParamにアプリサーバーデータを設定し、joinConference()を呼び出す際にPlanetKitConferenceParamを渡します。
let appServerData = "App server data for a group call"
let param = PlanetKitConferenceParam(myUserId: myUserId, roomId: roomId, roomServiceId: roomServiceId, delegate: delegate, accessToken: accessToken)
param.appServerData = appServerData
let result = PlanetKitManager.shared.joinConference(param: param)
アプリサーバーデータは、グループ通話イベントのサーバーコールバックのapp_svr_dataパラメーターで渡されます。
サイズの制限
アプリサーバーデータの最大サイズはnull終端文字を含めて4096バイトです。
通話開始メッセージとアプリサーバーデータの比較
通話開始メッセージとアプリサーバーデータとでは、次のような違いがあります。
| 送信元と送信先 | 対応する通話タイプ | |
|---|---|---|
| 通話開始メッセージ | 発信者のアプリクライアント → 受信者のアプリクライアント 受信者のアプリクライアント → 発信者のアプリクライアント | 1対1通話 |
| アプリサーバーデータ | 発信者または参加者のアプリクライアント → アプリサーバー | 1対1通話、グループ通話 |
関連API
アプリサーバーデータ機能に関連するAPIは、以下のとおりです。