L'API Co-Watching gère l'expérience de réunion de plusieurs participants qui regardent ou écoutent du contenu dans votre application.
Ce guide explique comment implémenter l'API Co-Watching.
Premiers pas
Pour utiliser l'API Co-Watching, vous devez d'abord déployer un module complémentaire Meet. Une fois ces étapes effectuées, vous pouvez commencer à utiliser l'API Co-Watching dans votre nouveau module complémentaire.
Pour utiliser l'API Co-Watching, commencez par obtenir un
AddonSession objet,
qui sert de point d'entrée pour les co-activités Google Meet :
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
Remplacez CLOUD_PROJECT_NUMBER par le numéro de projet de votre projet Google Cloud.
Créer un client de visionnage à plusieurs
Pour commencer, créez un
CoWatchingClient
objet à partir de votre AddonSession.
Pour créer un CoWatchingCient, appelez la
createCoWatchingClient()
méthode et fournissez un
CoWatchingDelegate
objet.
Le CoWatchingDelegate permet à l'API Co-Watching de mettre à jour votre application chaque fois qu'un nouvel état est disponible. Lorsque la méthode
onCoWatchingStateChanged()
est appelée, votre application doit appliquer immédiatement le nouvel état.
L'exemple de code suivant montre comment utiliser 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
},
});
Remplacez ACTIVITY_TITLE par le titre du média de votre activité.
Gérer l'état actuel
Lorsque les utilisateurs effectuent une action dans votre application, celle-ci doit immédiatement appeler les méthodes d'API fournies.
Vous ne devez appeler ces méthodes qu'en réponse à des événements importants. Par exemple, vous n'avez pas besoin de les appeler chaque fois que votre application avance une vidéo en cours de lecture. Le CoWatchingDelegate que vous créez gère l'obtention des positions de lecture mises à jour dans ces circonstances.
Vous pouvez contrôler l'état de visionnage à plusieurs à l'aide des méthodes suivantes :
notifyBuffering(): appelez cette méthode lorsque l'application d'un utilisateur commence à mettre en mémoire tampon en raison d'une mise en mémoire tampon provenant d'un changement de média, d'une recherche de média ou d'une congestion du réseau.notifyPauseState(): appelez cette méthode lorsqu'un utilisateur met en pause ou réactive le média en cours de lecture.notifyPlayoutRate(): appelez cette méthode lorsqu'un utilisateur modifie la vitesse de lecture sur une nouvelle valeur (par exemple, 1,25x).notifyReady(): appelez cette méthode lorsque la mise en mémoire tampon est terminée et que le média est prêt à être lu.notifySeekToTimestamp(): appelez cette méthode lorsqu'un utilisateur modifie explicitement la position de lecture.notifySwitchToMedia(): appelez cette méthode chaque fois que le média en cours de lecture change. Par exemple, l'utilisateur sélectionne une nouvelle vidéo ou la lecture automatique démarre la vidéo suivante.