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. Al termine di 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 di del tuo progetto Google Cloud.

Creare un client per la visione condivisa

Per iniziare, crea un CoWatchingClient dal tuo AddonSession.

Per creare un CoWatchingCient, chiama il createCoWatchingClient() e fornirà un CoWatchingDelegate .

CoWatchingDelegate è il modo in cui l'API Co-Watching aggiorna la tua app ogni volta che è disponibile un nuovo stato. Ci si aspetta che, quando onCoWatchingStateChanged() , la tua app applica 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, è previsto che l'applicazione stessa chiamo immediatamente i metodi dell'API forniti.

Devi 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. Gli handle di CoWatchingDelegate che crei e che riceveranno l'aggiornamento del playout posizione 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(): Chiama quando un utente aggiorna la velocità di riproduzione impostando un nuovo valore (ad esempio, 1,25x).

  • 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(): Chiama ogni volta che cambia il contenuto multimediale in riproduzione. Ad esempio, l'utente seleziona un nuovo video, oppure avvia la riproduzione automatica il video successivo.