實作 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 專案的專案編號。

建立共視用戶端

首先,請從 AddonSession 建立 CoWatchingClient 物件。

如要建立 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():每當正在播放的媒體變更時,就會呼叫。例如使用者選取新影片,或自動播放功能開始播放下一部影片。