Google Meet LiveSharing 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
: 버퍼링이 완료되고 미디어를 재생할 준비가 되면 호출합니다.