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

API для совместного просмотра позволяет управлять процессом проведения совещания, в котором несколько участников смотрят или слушают контент в вашем приложении.

В этом руководстве объясняется, как реализовать API для совместного просмотра.

Начать

Для использования API совместного просмотра необходимо сначала развернуть дополнение Meet . После выполнения этих шагов вы сможете начать использовать API совместного просмотра из своего нового дополнения.

Для использования API совместного просмотра сначала получите объект AddonSession , который служит точкой входа для совместной работы в Google Meet:

Машинопись

const session = await window.meet.addon.createAddonSession({
    cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});

Замените CLOUD_PROJECT_NUMBER на номер вашего проекта в Google Cloud.

Создайте клиент для совместного просмотра.

Для начала создайте объект CoWatchingClient из вашего AddonSession .

Для создания объекта CoWatchingCient вызовите метод createCoWatchingClient() и укажите объект CoWatchingDelegate .

Делегат CoWatchingDelegate отвечает за обновление состояния вашего приложения с помощью API Co-Watching. Предполагается, что при вызове метода onCoWatchingStateChanged() ваше приложение немедленно применит новое состояние.

Следующий пример кода демонстрирует использование API Co-Watching:

Машинопись

 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,25x).

  • notifyReady() : Вызывается после завершения буферизации и готовности воспроизведения медиафайла.

  • notifySeekToTimestamp() : Вызывается, когда пользователь явно изменяет позицию воспроизведения.

  • notifySwitchToMedia() : Вызывается всякий раз, когда происходит смена воспроизводимого медиафайла. Например, когда пользователь выбирает новый видеофайл или автовоспроизведение запускает следующий видеофайл.