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 Co-Watching desde tu nuevo complemento.
Para usar la API de Co-Watching, comienza por obtener un
AddonSession objeto,
que sirve como punto de entrada para las actividades conjuntas de Google Meet:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
Reemplaza CLOUD_PROJECT_NUMBER por el número de proyecto de tu proyecto de Google Cloud.
Crea un cliente de Co-Watching
Para comenzar, crea un
CoWatchingClient
objeto a partir de tu AddonSession.
Para crear un CoWatchingCient, llama al
createCoWatchingClient()
método y proporciona un
CoWatchingDelegate
objeto.
La 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 llame al método
onCoWatchingStateChanged(), tu app aplique de inmediato el estado nuevo.
En el siguiente ejemplo 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 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 importantes. Por ejemplo, no es necesario llamarlos cada vez que tu app avanza un video en reproducción. El CoWatchingDelegate que creas controla la obtención de posiciones de reproducción actualizadas en estas circunstancias.
Puedes controlar el estado de Co-Watching con estos métodos:
notifyBuffering(): Llama cuando la app de un usuario comienza a almacenar en búfer debido al almacenamiento en búfer de un cambio de contenido multimedia anterior, una búsqueda de contenido multimedia o una congestión de red.notifyPauseState(): Llama cuando un usuario pausa o reanuda el contenido multimedia en reproducción.notifyPlayoutRate(): Llama 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 ya está listo para reproducirse.notifySeekToTimestamp(): Llama cuando un usuario cambia de forma explícita la posición de reproducción.notifySwitchToMedia(): Llama cada vez que cambia 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 video.