L'API di condivisione in tempo reale di Google Meet Co-Watching gestisce l'esperienza delle riunioni di più partecipanti che guardano o ascoltano i contenuti nella tua app.
Questa guida spiega come implementare l'API Co-Watching.
Crea un CoWatchingClient
Per iniziare, crea una createCoWatchingClient
dal AddonSession
creato nella Guida introduttiva.
Per creare un CoWatchingCient
, chiama il metodo
AddonSession.createCoWatchingClient
e fornisci un
CoWatchingDelegate
.
CoWatchingDelegate
è il modo in cui l'API Co-Watching aggiorna l'applicazione ogni volta che è disponibile un nuovo stato. Quando viene chiamato il metodo CoWatchingDelegate.onCoWatchingStateChanged
, l'applicazione 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 multimediale della tua attività.
Gestisci stato attuale
Quando gli utenti intraprendono un'azione sulla tua applicazione, è normale che quest'ultima 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 fa avanzare un video
in riproduzione. Il CoWatchingDelegate
creato in precedenza gestisce il recupero delle posizioni di riproduzione aggiornate in queste circostanze.
Puoi controllare lo stato di visualizzazione condivisa utilizzando questi metodi:
CoWatchingClient.notifySwitchToMedia
: Chiama ogni volta che cambia il contenuto multimediale in riproduzione attiva. Ad esempio, l'utente seleziona un nuovo video oppure avvia la riproduzione automatica il video successivo.CoWatchingClient.notifyPauseState
: Chiama quando un utente mette in pausa o riattiva la riproduzione di contenuti multimediali.CoWatchingClient.notifySeekToTimestamp
: Chiama quando un utente cambia esplicitamente la posizione di riproduzione.CoWatchingClient.notifyPlayoutRate
: Chiama quando un utente aggiorna la velocità di riproduzione su un nuovo valore (ad esempio, 1.25x).CoWatchingClient.notifyBuffering
: Chiama quando inizia il buffering dell'app di un utente a causa del buffering di un precedente switch multimediale, ricerca di contenuti multimediali o congestione di rete.CoWatchingClient.notifyReady
: Chiama al termine del buffering e i contenuti multimediali sono pronti per essere riprodotti.