Co-Watching API を実装する

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

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

使ってみる

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

Co-Watching API を使用するには、まず、 AddonSession オブジェクト、 Google Meet の共同アクティビティへのエントリ ポイントとなります。

TypeScript

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

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

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

まず、Terraform で CoWatchingClient オブジェクトAddonSessionから移動できます。

CoWatchingCient を作成するには、 createCoWatchingClient() メソッドを呼び出し、 CoWatchingDelegate 渡されます。

CoWatchingDelegate は、Co-Watching API がアプリを更新する方法です。 新しい状態が利用可能になったときにトリガーされます。想定内の動作が 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 が、プレイアウトの更新を処理します。 役立ちます

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

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

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

  • notifyPlayoutRate(): ユーザーが再生速度を新しい値( 1.25 倍)。

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

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

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