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 Guarda insieme, devi prima implementare un componente aggiuntivo di Meet. Una volta completati questi passaggi, puoi iniziare a utilizzare l'API Co-Watching dal nuovo componente aggiuntivo.

Per utilizzare l'API Co-Watching, inizia recuperando un oggetto AddonSession, che funge da punto di accesso 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 Google Cloud.

Creare un client Guarda insieme

Per iniziare, crea un CoWatchingClient oggetto dal tuo AddonSession.

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

L'CoWatchingDelegate è il modo in cui l'API Co-Watching aggiorna la tua app ogni volta che è disponibile un nuovo stato. Quando viene chiamato il metodo onCoWatchingStateChanged(), l'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 del media della tua attività.

Gestire lo stato attuale

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

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

Puoi controllare lo stato della visione condivisa utilizzando questi metodi:

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

  • notifyPauseState(): Chiamata quando un utente mette in pausa o riprende la riproduzione dei contenuti multimediali.

  • notifyPlayoutRate(): Chiamata quando un utente aggiorna la velocità di riproduzione a un nuovo valore (ad esempio, 1,25x).

  • notifyReady(): Chiama quando il buffering è completato e i contenuti multimediali sono pronti per essere riprodotti.

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

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