Google Meet Live Sharing Co-Watching API는 앱에서 콘텐츠를 시청하거나 듣는 여러 참가자의 회의 환경을 관리합니다.
이 가이드에서는 Co-Watching API를 구현하는 방법을 설명합니다.
CoWatchingClient
를 만드는 방법
시작하려면 시작하기에서 만든 AddonSession
에서 createCoWatchingClient
를 만듭니다.
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.25x)으로 업데이트하면 호출됩니다.CoWatchingClient.notifyBuffering
: 이전 미디어 전환, 미디어 탐색 또는 네트워크 정체로 인한 버퍼링으로 인해 사용자의 앱이 버퍼링을 시작할 때 호출됩니다.CoWatchingClient.notifyReady
: 버퍼링이 완료되고 미디어를 재생할 준비가 되면 호출합니다.