Co-Watching API を実装する

Co-Watching API は、アプリでコンテンツを視聴または聴取する複数の参加者の会議エクスペリエンスを管理します。

このガイドでは、同時視聴 API の実装方法について説明します。

始める

Co-Watching API を使用するには、まず Meet アドオンをデプロイする必要があります。これらの手順を完了すると、新しいアドオン内から Co-Watching API を使用できるようになります。

同時視聴 API を使用するには、まず AddonSession オブジェクトを取得します。これは、Google Meet の共同アクティビティのエントリ ポイントとして機能します。

TypeScript

const session = await window.meet.addon.createAddonSession({
    cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});

CLOUD_PROJECT_NUMBER は、Google Cloud プロジェクトのプロジェクト番号に置き換えます。

同時視聴クライアントを作成する

まず、AddonSession から CoWatchingClient オブジェクトを作成します。

CoWatchingCient を作成するには、createCoWatchingClient() メソッドを呼び出して CoWatchingDelegate オブジェクトを指定します。

CoWatchingDelegate は、新しい状態が利用可能になるたびに、Co-Watching API がアプリを更新する方法です。onCoWatchingStateChanged() メソッドが呼び出されると、アプリは新しい状態をすぐに適用することが想定されています。

次のコードサンプルは、同時視聴 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 は、このような状況で再生位置の更新を取得します。

次のメソッドを使用して、同時視聴の状態を制御できます。

  • notifyBuffering(): ユーザーのアプリが、前のメディア切り替え、メディア シーク、ネットワークの輻輳によるバッファリングのためにバッファリングを開始したときに呼び出します。

  • notifyPauseState(): ユーザーが再生中のメディアを一時停止または一時停止解除したときに呼び出します。

  • notifyPlayoutRate(): ユーザーが再生速度を新しい値(1.25 倍など)に更新したときに呼び出します。

  • notifyReady(): バッファリングが完了し、メディアを再生できるようになったときに呼び出します。

  • notifySeekToTimestamp(): ユーザーが再生位置を明示的に変更したときに呼び出します。

  • notifySwitchToMedia(): アクティブに再生中のメディアが変更されるたびに呼び出します。たとえば、ユーザーが新しい動画を選択した場合や、自動再生で次の動画が開始された場合などです。