API совместного просмотра Google Meet Live Sharing управляет взаимодействием нескольких участников, которые просматривают или слушают контент в вашем приложении.
В этом руководстве объясняется, как реализовать API совместного просмотра.
Создайте CoWatchingClient
Для начала создайте createCoWatchingClient
из AddonSession
, созданного в разделе «Начало работы» .
Чтобы создать CoWatchingCient
, вызовите метод AddonSession.createCoWatchingClient
и укажите CoWatchingDelegate
.
CoWatchingDelegate
— это то, как API совместного наблюдения обновляет ваше приложение всякий раз, когда у него появляется новое состояние. Ожидается, что при вызове метода CoWatchingDelegate.onCoWatchingStateChanged
ваше приложение немедленно применит новое состояние.
В следующем примере кода показано, как использовать API совместного просмотра:
Машинопись
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
: вызывается, когда буферизация завершается и медиафайл готов к воспроизведению.