Implémenter l'API de co-visionnage

L'API de partage en direct de Google Meet gère l'expérience de réunion lorsque plusieurs participants regardent ou écoutent du contenu dans votre application.

Ce guide explique comment implémenter l'API Co-Watching.

Créer un élément CoWatchingClient

Pour commencer, créez un createCoWatchingClient à partir du AddonSession que vous avez créé à la section Premiers pas.

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

Le CoWatchingDelegate représente la façon dont l'API de covisionnage met à jour votre application chaque fois qu'un nouvel état est disponible. Lorsque la méthode CoWatchingDelegate.onCoWatchingStateChanged est appelée, il est normal que 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 les utilisateurs effectuent une action dans votre application, celle-ci doit immédiatement appeler les méthodes API fournies.

Vous ne devez appeler ces méthodes qu'en réponse à des événements significatifs. 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 avez créé ci-dessus gère la mise à jour des positions de jeu dans ces circonstances.

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

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