Co-Watching API を実装する

で確認できます。 Google Meet Live Sharing Co-Watching API による複数の参加者の会議エクスペリエンスの管理 アプリのコンテンツを視聴します

このガイドでは、Co-Watching API の実装方法について説明します。

CoWatchingClient を作成する

まず、Terraform で createCoWatchingClient AddonSessionより スタートガイドで作成したファイルを使用します。

CoWatchingCient を作成するには、 AddonSession.createCoWatchingClient メソッドを呼び出し、 CoWatchingDelegate

CoWatchingDelegate は、Co-Watching API が 新しい状態が利用可能になったら通知します。想定内の動作が CoWatchingDelegate.onCoWatchingStateChanged メソッドが呼び出されると、アプリケーションはすぐに新しい状態を適用します。

次のコードサンプルは、Co-Watching API の使用方法を示しています。

TypeScript

 const coWatchingClient = await addonSession.createCoWatchingClient({
    activityTitle: "ACTIVITY_TITLE",
    onCoWatchingStateQuery() {
      // This function should return the current state of your CoWatching activity
      return getMyApplicationCoWatchingState();
    },
    onCoWatchingStateChanged(coWatchingState: CoWatchingState) {
      // This function should apply newState to your ongoing CoWatching activity
    },
  });

ACTIVITY_TITLE は、アクティビティのメディア タイトルに置き換えます。

現状の管理

ユーザーがアプリ内でアクションを起こすと、アプリケーションは 指定の API メソッドをすぐに呼び出すことができます。

これらのメソッドは、重要なイベントに応答する場合にのみ呼び出すようにしてください。対象 たとえば、アプリがプレイを進めるたびに呼び出す必要は 動画をご覧ください。上で作成した CoWatchingDelegate の更新を処理する このような状況では プレイアウト位置を変更できません

同時視聴の状態は、次の方法で管理できます。

  • CoWatchingClient.notifySwitchToMedia: アクティブに再生中のメディアが変更されるたびに呼び出されます。たとえば、ユーザーが ユーザーが新しい動画を選択するか、自動再生で次の動画が再生される。
  • CoWatchingClient.notifyPauseState: ユーザーが再生中のメディアを一時停止または一時停止解除したときに呼び出されます。
  • CoWatchingClient.notifySeekToTimestamp: ユーザーが再生位置を明示的に変更したときに呼び出します。
  • CoWatchingClient.notifyPlayoutRate: ユーザーが再生速度を新しい値( 1.25 倍)。
  • CoWatchingClient.notifyBuffering: 以前のメディアからのバッファリングが原因でユーザーのアプリがバッファリングを開始したときに呼び出す ネットワークが輻輳しているなどの原因が考えられます。
  • CoWatchingClient.notifyReady: バッファリングが完了し、メディアの再生の準備が整ったときに呼び出されます。