Co-Watching API 구현

Co-Watching API는 앱에서 콘텐츠를 시청하거나 듣는 여러 참여자의 회의 환경을 관리합니다.

이 가이드에서는 Co-Watching API를 구현하는 방법을 설명합니다.

시작하기

Co-Watching API를 사용하려면 먼저 Meet 부가기능을 배포해야 합니다. 이 단계를 완료하면 새 부가기능 내에서 Co-Watching API를 사용할 수 있습니다.

Co-Watching API를 사용하려면 먼저 Google Meet 공동 활동의 진입점 역할을 하는 AddonSession 객체를 가져와야 합니다.

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(): 재생 중인 미디어가 변경될 때마다 호출합니다. 예를 들어 사용자가 새 동영상을 선택하거나 자동재생으로 다음 동영상이 시작됩니다.