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 completes esos pasos, podrás comenzar a usar la API de Mirar juntos desde tu nuevo complemento.

Para usar la API de Co-Watching, primero debes obtener 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 de tu proyecto de Google Cloud.

Cómo crear 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.

El objeto CoWatchingDelegate es la forma en que la API de Mirar juntos actualiza tu app cada vez que tiene un nuevo estado disponible. Se espera que, cuando se llame al método onCoWatchingStateChanged(), tu app aplique de inmediato el nuevo estado.

En el siguiente ejemplo de código, se muestra cómo usar la API de Mirar juntos:

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 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 avance 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 visualización en compañía con estos métodos:

  • notifyBuffering(): Se llama cuando la app de un usuario comienza a almacenar en búfer debido a la carga en búfer de un cambio de contenido multimedia anterior, una búsqueda de contenido multimedia o una congestión de la red.

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

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

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

  • notifySeekToTimestamp(): Se llama cuando un usuario cambia de forma explícita la posición de reproducción.

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