Implementare l'API Co-Watching

L'API Co-Watching gestisce l'esperienza di riunione di più partecipanti che guardano o ascoltano contenuti nella tua app.

Questa guida spiega come implementare l'API Co-Watching.

Inizia

Per utilizzare l'API Co-Watching, devi prima implementare un plug-in di Meet. Una volta completati questi passaggi, puoi iniziare a utilizzare l'API Guarda insieme dal tuo nuovo componente aggiuntivo.

Per utilizzare l'API Co-Watching, inizia recuperando un oggetto AddonSession, che funge da punto di contatto per le co-attività di Google Meet:

TypeScript

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

Sostituisci CLOUD_PROJECT_NUMBER con il numero del progetto del tuo progetto Google Cloud.

Creare un client per la visione condivisa

Per iniziare, crea un oggetto CoWatchingClient da AddonSession.

Per creare un CoWatchingCient, chiama il metodo createCoWatchingClient() e fornisci un oggetto CoWatchingDelegate.

CoWatchingDelegate indica in che modo l'API Co-Watching aggiorna la tua app ogni volta che è disponibile un nuovo stato. È previsto che, quando viene chiamato il metodo onCoWatchingStateChanged(), la tua app applichi immediatamente il nuovo stato.

Il seguente esempio di codice mostra come utilizzare l'API 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
    },
  });

Sostituisci ACTIVITY_TITLE con il titolo dei contenuti multimediali della tua attività.

Gestire lo stato attuale

Quando gli utenti intraprendono un'azione nella tua applicazione, è normale che l'applicazione chiamo immediatamente i metodi dell'API forniti.

Dovresti chiamare questi metodi solo in risposta a eventi significativi. Ad esempio, non è necessario chiamarli ogni volta che l'app fa avanzare un video in riproduzione. Il CoWatchingDelegate che crei gestisce l'aggiornamento delle posizioni di riproduzione in queste circostanze.

Puoi controllare lo stato della visione condivisa utilizzando i seguenti metodi:

  • notifyBuffering(): viene chiamata quando l'app di un utente inizia il buffering a causa del buffering di un precedente switching di contenuti multimediali, ricerca di contenuti multimediali o congestione della rete.

  • notifyPauseState(): viene chiamata quando un utente mette in pausa o riattiva la riproduzione dei contenuti multimediali.

  • notifyPlayoutRate(): viene chiamata quando un utente aggiorna la velocità di riproduzione su un nuovo valore (ad esempio, 1,25 volte).

  • notifyReady(): viene chiamata al termine del buffering, quando i contenuti multimediali sono pronti per essere riprodotti.

  • notifySeekToTimestamp(): viene chiamata quando un utente modifica esplicitamente la posizione di riproduzione.

  • notifySwitchToMedia(): viene chiamata ogni volta che cambiano i contenuti multimediali in riproduzione attiva. Ad esempio, l'utente seleziona un nuovo video o la riproduzione automatica avvia il video successivo.