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 créer un le module complémentaire Meet. Une fois que vous avez terminé ces étapes, vous pouvez commencer à utiliser l'API Co-Watching depuis votre nouveau module complémentaire.

Pour utiliser l'API Co-Watching, commencez par obtenir une AddonSession, qui sert de point d’entrée aux activités de groupe:

TypeScript

const session = await window.meet.addon.createAddonSession({
    cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});

Créer un élément CoWatchingClient

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

Pour créer un CoWatchingCient, appelez la méthode AddonSession.createCoWatchingClient et fournissez une CoWatchingDelegate

Le CoWatchingDelegate permet à l'API Co-Watching de mettre à jour votre chaque fois qu'un nouvel état est disponible. Il est normal, lorsque le CoWatchingDelegate.onCoWatchingStateChanged est appelée, votre application applique 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 multimédia de votre activité.

Gérer l'état actuel

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

Vous ne devez appeler ces méthodes qu'en réponse à des événements importants. Pour Par exemple, vous n'avez pas besoin de les appeler chaque fois que votre application vidéo. Le CoWatchingDelegate que vous avez créé ci-dessus gère la mise à jour les positions de jeu dans ces circonstances.

Vous pouvez contrôler l'état de visionnage à plusieurs à l'aide des méthodes suivantes:

  • CoWatchingClient.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 lance la vidéo suivante.
  • CoWatchingClient.notifyPauseState: Appelez lorsqu'un utilisateur met en pause ou réactive le contenu multimédia en cours de lecture.
  • CoWatchingClient.notifySeekToTimestamp: Appelé lorsqu'un utilisateur modifie explicitement la position de lecture.
  • CoWatchingClient.notifyPlayoutRate: Appelez lorsqu'un utilisateur définit une nouvelle valeur pour la vitesse de lecture (par exemple, x 1,25).
  • CoWatchingClient.notifyBuffering: Appelé lorsque l'application d'un utilisateur commence la mise en mémoire tampon en raison de la mise en mémoire tampon d'un contenu multimédia précédent le commutateur, la recherche multimédia ou l'encombrement du réseau.
  • CoWatchingClient.notifyReady: Appelez lorsque la mise en mémoire tampon est terminée et que le contenu multimédia est prêt à être lu.