Внедрение API совместного просмотра

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 : вызывается, когда буферизация завершается и медиафайл готов к воспроизведению.