Implementa la API de Co-Watching

La API de Co-Watching 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 Co-Watching.

Comenzar

Para usar la API de Co-Watching, primero debes implementar un complemento de Meet. Una vez que hayas completado esos pasos, podrás comenzar a usar la API de Co-Watching desde tu nuevo complemento.

Para usar la API de Co-Watching, primero obtén un objeto AddonSession, que sirve como punto de entrada para las actividades colaborativas de Google Meet:

TypeScript

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

Reemplaza CLOUD_PROJECT_NUMBER por el número del proyecto de Google Cloud.

Crea un cliente de visualización en compañía

Para comenzar, crea un objeto CoWatchingClient a partir de tu AddonSession.

Para crear un CoWatchingCient, llama al método createCoWatchingClient() y proporciona un objeto CoWatchingDelegate.

CoWatchingDelegate es la forma en que la API de Co-Watching actualiza tu app cada vez que tiene un estado nuevo disponible. Se espera que, cuando se llama al método onCoWatchingStateChanged(), tu app aplica de inmediato el estado nuevo.

En la siguiente muestra de código, se muestra cómo usar la API de Co-Watching:

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 del contenido multimedia de tu actividad.

Administra el estado actual

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

Solo debes llamar a estos métodos en respuesta a eventos significativos. Por ejemplo, no es necesario que los llames cada vez que tu app avanza un video en reproducción. El CoWatchingDelegate que creas controla la actualización de las posiciones de reproducción en estas circunstancias.

Puedes controlar el estado de reproducción en compañía con estos métodos:

  • notifyBuffering(): Llama cuando la app de un usuario comienza a almacenarse en búfer debido al almacenamiento en búfer de un cambio de contenido multimedia anterior, un salto de contenido multimedia o una congestión de red.

  • notifyPauseState(): Llama cuando un usuario pausa o reanuda la reproducción de contenido multimedia.

  • notifyPlayoutRate(): Llamada cuando un usuario actualiza la velocidad de reproducción a un valor nuevo (por ejemplo, 1.25x).

  • notifyReady(): Llama cuando se completa el almacenamiento en búfer y el contenido multimedia está listo para reproducirse.

  • notifySeekToTimestamp(): Llamada cuando un usuario cambia explícitamente la posición de reproducción.

  • notifySwitchToMedia(): Llama cada vez que cambie el contenido multimedia que se reproduce de forma activa. Por ejemplo, el usuario selecciona un video nuevo o la reproducción automática inicia el siguiente.