Implémenter l'API de co-visionnage

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.

Commencer

Pour utiliser l'API Co-Watching, vous devez d'abord déployer un module complémentaire Meet. Une fois ces étapes terminées, vous pouvez commencer à utiliser l'API Co-Watching depuis votre nouveau module complémentaire.

Pour utiliser l'API Co-Watching, commencez par obtenir un objet AddonSession, qui sert de point d'entrée pour les activités de groupe 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 co-visionnage

Pour commencer, créez un objet CoWatchingClient à partir de votre AddonSession.

Pour créer un CoWatchingCient, appelez la méthode createCoWatchingClient() et fournissez un objet CoWatchingDelegate.

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 devrait 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 contenu multimédia de votre activité.

Gérer l'état actuel

Lorsque les utilisateurs effectuent une action dans votre application, celle-ci doit appeler immédiatement les méthodes d'API fournies.

Vous ne devez appeler ces méthodes que pour répondre à 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. L'CoWatchingDelegate que vous créez gère la mise à jour des positions de lecture dans ces circonstances.

Vous pouvez contrôler l'état de la co-visionnage en utilisant les méthodes suivantes:

  • notifyBuffering() : appel lorsque l'application d'un utilisateur commence à tamponner en raison d'un tamponnage provenant d'un changement de média précédent, d'une recherche de média ou d'une congestion du réseau.

  • notifyPauseState() : appel à effectuer lorsqu'un utilisateur met en pause ou réactive la lecture du contenu multimédia.

  • notifyPlayoutRate() : appelez cette méthode lorsqu'un utilisateur définit une nouvelle valeur pour la vitesse de lecture (par exemple, 1,25 x).

  • notifyReady() : appelez-le lorsque le tamponnage est terminé et que le contenu multimédia est prêt à être lu.

  • notifySeekToTimestamp() : appel à effectuer lorsqu'un utilisateur modifie explicitement la position de lecture.

  • notifySwitchToMedia() : appelez chaque fois que le contenu multimé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.