Implementa la API de Co-Watching

La API de visualización en compañía para compartir en vivo de Google Meet administra la experiencia de reunión de varios participantes que miran o escuchan contenido en tu app.

En esta guía, se explica cómo implementar la API de visualización en compañía.

Crear un elemento CoWatchingClient

Para comenzar, crea un createCoWatchingClient a partir del AddonSession que creaste en Comenzar.

Para crear un CoWatchingCient, llama al método AddonSession.createCoWatchingClient y proporciona un CoWatchingDelegate.

El CoWatchingDelegate es la forma en que la API de Co-Watching actualiza tu aplicación cuando tiene un nuevo estado disponible. Se espera que, cuando se llame al método CoWatchingDelegate.onCoWatchingStateChanged, tu aplicación aplique de inmediato el estado nuevo.

En la siguiente muestra de código, se indica cómo usar la API de visualización en compañía:

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
    },
  });

Reemplaza ACTIVITY_TITLE por el título multimedia de tu actividad.

Administra el estado actual

Cuando los usuarios realizan acciones en tu aplicación, se espera que esta llame de inmediato a los métodos de API proporcionados.

Solo debes llamar a estos métodos en respuesta a eventos significativos. Por ejemplo, no necesitas llamarlos cada vez que la app avanza un video en reproducción. El CoWatchingDelegate que creaste antes controla la obtención de posiciones de juego actualizadas en estas circunstancias.

Puedes controlar el estado de visualización en compañía con los siguientes métodos:

  • CoWatchingClient.notifySwitchToMedia: Realiza una llamada cada vez que cambie el contenido multimedia que se está reproduciendo activamente. Por ejemplo, el usuario selecciona un video nuevo o la reproducción automática inicia el siguiente video.
  • CoWatchingClient.notifyPauseState: Llama cuando un usuario pausa o reanuda el contenido multimedia en reproducción.
  • CoWatchingClient.notifySeekToTimestamp: Realiza una llamada cuando un usuario cambia explícitamente la posición de reproducción.
  • CoWatchingClient.notifyPlayoutRate: Llama cuando un usuario actualiza la velocidad de reproducción a un valor nuevo (por ejemplo, 1.25x).
  • CoWatchingClient.notifyBuffering: Realiza una llamada cuando la app del usuario comienza a almacenar en búfer debido al almacenamiento en búfer de un interruptor de contenido multimedia anterior, la búsqueda de contenido multimedia o la congestión de la red.
  • CoWatchingClient.notifyReady: Realiza una llamada cuando se complete el almacenamiento en búfer y el contenido multimedia esté listo para reproducirse.