本文にスキップする
Version: 5.5

データとメッセージ機能の概要

PlanetKitは、メディアストリーム以外のデータやメッセージを送受信するためのさまざまな機能を提供します。PlanetKitが提供するデータおよびメッセージ機能の特徴は以下のとおりです。機能別の詳細については、リンク先のドキュメントを参照してください。

機能対応する通話およびユーザータイプ使用タイミング使用例
通話開始メッセージ1対1通話(発信者、受信者)コールセットアップ

通話開始メッセージを活用する方法は、大きく分けて2つあります。

まず1つは、発信者と受信者の間で通話を接続する前にユーザーにメッセージを表示する用途で使用する方法です。たとえば、受信者が通話を受諾する前に発信者の通話の目的を確認することができます。

もう1つは、アプリケーション層でメタデータとして使用する方法です。通話開始メッセージは通話接続前に発信者と受信者の間でやり取りできる唯一のメッセージであるため、たとえば、通話中に発生する機能の互換性の問題を解決するのに役立ちます。

互換性の問題に関して具体的な事例を1つ見てみましょう。通話中に発信者と受信者の間で互換性が求められる機能Aのアップグレードが不可欠で、発信者が新バージョンを、受信者が旧バージョンを使用していると仮定します。このとき、受信者が通話開始メッセージに旧バージョンを使用しているという情報を入れて送信すれば、発信者は相手が旧バージョンであることを認識でき、受信者との互換性を持たせることができます。逆に、受信者が新バージョンで、発信者が旧バージョンの場合は、受信者が通話開始メッセージを確認して発信者との互換性を持たせることができます。

アプリサーバーのデータ1対1通話(発信者)、グループ通話コールセットアップ

アプリサーバーのデータは、クライアントがアプリケーションサーバーに転送するデータです。主にアプリケーションで通話に関するモニタリングをする際に活用できます。たとえば、アプリケーションのバージョン別にグループ通話の参加数を分析したい場合は、アプリサーバーのデータにアプリケーションのバージョンを含めて転送するように設計できます。

データセッション1対1通話(発信者、受信者)、グループ通話コールセットアップ完了後

データセッションは、1対1通話またはグループ通話時に同じグループ内で通話する端末間でストリーミング形式のデータを転送する際に活用します。通話中にあまりにも多くのデータの転送および受信が発生すると、通話品質に悪影響を及ぼす可能性があります。データセッションを使用することで、通話品質の低下を最小限に抑えながらも、通話対象者と便利にデータをやり取りできます。

アプリケーションは、データのタイプによってストリームIDを定義した後、ストリームID別にデータの転送と処理を行います。このとき、データ転送の信頼性提供の可否と希望するデータ型(メッセージまたはバイト)によって、4つのデータセッションタイプのいずれかを選択できます。たとえば、送信しようとするデータの特性を考慮して、次のようにデータセッションタイプを選択できます。

  • 通話中にファイル転送:Reliable bytesタイプ
  • 通話中にチャット:Reliable messageタイプ
  • 通話中に別途の動画またはオーディオをストリーミング:Unreliable bytesタイプ
  • 通話中に定期的に通知する必要のあるユーザー間のステータスメッセージ:Unreliable messageタイプ
短いデータ転送1対1通話(発信者、受信者)、グループ通話コールセットアップ完了後

短いデータ転送を利用することで、アプリケーションから通話相手に短いメッセージを簡単に送信できます。散発的(例:最短30秒間隔)あるいは特定の条件下において低コストでメッセージやデータを転送したい場合は、短いデータ転送を活用してください。たとえば、グループ通話中にユーザーのステータスメッセージ(離席中/取り込み中)を決められた形式で定期的に通知しようとする状況で便利に使用できます。

ただし、メッセージの長さに制約があるため、長いメッセージを送る必要がある場合は、データセッションの使用を推奨します。また、内部的にトランザクションを管理し、データの転送可否を確認した後に数回再送を試みますが、基本的にはデータ転送の信頼性を提供するわけではありません。

コンテンツ共有1対1通話(発信者、受信者)、グループ通話コールセットアップ完了後

コンテンツ共有は、時間の経過と共に変化するデータを通話相手と共有したいときに使用します。

コンテンツ共有を使用して共有したデータが変更されると、共有対象者にイベントが発生します。共有対象のデータは、コンテンツ共有のタイプによって共有対象者各自が持っている場合(一般共有)や、そのルームに1つだけしか存在しない場合があります(排他的共有、ルーム範囲共有)。排他的共有の場合は、コンテンツ共有をリクエストした人だけがデータを修正でき、ルーム範囲での共有の場合は、すべてのグループルームの参加者が修正できます。

コンテンツ共有は、データ更新後に経過した時間を情報として提供します。アプリケーションは、時間の経過によるデータが必要なときにこれを活用できます。たとえば、ある参加者が動画再生(例:YouTubeを一緒に見る)を共有した後、他の参加者が後からそのルームに参加した場合、コンテンツ共有機能が提供する経過時間情報を利用して、現在他の参加者が動画のどの部分を見ているかを把握し、どの時点から再生すべきか分かります。