Les participants à une réunion peuvent travailler en collaboration sur une activité de module complémentaire Google Meet. Lorsqu'une activité collaborative commence, tous les participants à la réunion reçoivent une notification indiquant que l'activité est en cours.
Cette notification est adaptée à la disponibilité et à l'état d'installation du module complémentaire:
Si le participant a installé le module complémentaire : il peut rejoindre l'activité.
Si le participant n'a pas installé le module complémentaire: il est invité à l'installer.
Si le module complémentaire n'est pas disponible pour la plate-forme du participant: il est informé qu'il ne peut pas rejoindre l'activité avec son appareil actuel.
Lorsqu'un utilisateur rejoint l'activité, il charge ses propres iFrames avec le contenu de votre module complémentaire. Vous pouvez personnaliser si les nouveaux participants doivent ouvrir l'activité collaborative dans la fenêtre principale ou dans le panneau latéral.
Démarrer l'activité
Une activité est lancée en appelant la méthode startActivity()
, qui utilise l'interface ActivityStartingState
.
Étape 1 (Facultatif): Le module complémentaire définit l'état de début de l'activité
ActivityStartingState
contient des informations sur l'état initial du module complémentaire utilisé lorsque le participant accepte l'invitation à participer à l'activité.
Le module complémentaire peut définir ou mettre à jour ActivityStartingState
en appelant la méthode setActivityStartingState()
à tout moment avant ou pendant l'activité. Les appels à setActivityStartingState()
peuvent être omis si ActivityStartingState
est défini exclusivement dans l'appel à startActivity()
.
Étape 2: Le module complémentaire lance l'activité
L'activité commence lorsque le module complémentaire appelle la méthode startActivity()
sur MeetSidePanelClient
.
La méthode startActivity()
utilise un objet ActivityStartingState
comme paramètre. Vous pouvez donc appeler startActivity()
au lieu d'appeler setActivityStartingState()
.
Une fois que l'utilisateur a terminé la sélection de contenu et qu'il est prêt à démarrer une activité, appelez la méthode startActivity()
dans votre module complémentaire comme suit:
sidePanelClient.startActivity({
mainStageUrl: "https://app.example.com/mainstage",
additionalData: JSON.stringify({
// State to send to participants.
})
});
Lorsque la méthode startActivity()
est appelée, Meet effectue les actions suivantes:
Pour les autres participants: Meet affiche une notification indiquant que l'activité est en cours.
Pour l'initiateur: si une URL de scène principale a été spécifiée dans
ActivityStartingState
, Meet ouvre la scène principale à l'aide de l'URL deActivityStartingState
.
Étape 3: Obtenir l'état de démarrage de l'activité
Lorsqu'un utilisateur rejoint l'activité, il charge votre module complémentaire dans l'espace principal ou le panneau latéral, en fonction de ActivityStartingState
.
Avec la propriété additionalData
, vous pouvez partager des données initiales (également appelées état) avec les utilisateurs qui rejoignent l'activité. Après avoir initialisé un MainStageClient
ou un SidePanelClient
, vous pouvez appeler la méthode getActivityStartingState()
pour récupérer la propriété additionalData
.
const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);
Étape 4 (facultatif): Partager l'état du module complémentaire dans une activité
Vous pouvez également partager l'état entre les utilisateurs pendant l'activité. Vous pouvez partager l'état de deux manières:
- Gérez-la vous-même en créant votre propre backend de synchronisation.
- Utilisez l'API Co-Doing, qui permet de partager des données arbitraires entre les utilisateurs de manière simple et rapide.
Exemple: Module complémentaire d'animation sur GitHub
L'exemple de module complémentaire "Animation" sur GitHub inclut la collaboration dans un module complémentaire. L'étape 1 de ce guide n'est pas incluse dans l'exemple. Au lieu de cela, lorsque l'initiateur du module complémentaire clique sur le bouton Start the Animation (Démarrer l'animation) dans le panneau latéral, la méthode startActivity()
est appelée (Étape 2) en remplissant l'état de départ avec la couleur sélectionnée par l'utilisateur. Une fois l'activité lancée, l'étape principale récupère l'état de départ en appelant la méthode getActivityStartingState()
(Étape 3). L'étape 4 est omise, car l'état (la couleur sélectionnée) n'est pas partagé entre les participants pendant l'activité dans cet exemple de module complémentaire. Toutefois, chaque utilisateur peut modifier son propre état en sélectionnant une couleur, qui est envoyée du frame du panneau latéral au frame de la scène principale à l'aide de la messagerie frame-to-frame.
Contraintes
- Les URL spécifiées dans
ActivityStartingState
doivent appartenir à la même origine que les origines spécifiées dans le fichier manifeste du module complémentaire. Pour en savoir plus, consultez la section Sécurité des modules complémentaires. - La longueur des caractères des propriétés
sidePanelUrl
,mainStageUrl
etadditionalData
doit respecter les limites de taille respectives publiées dans la documentation de référence du SDK.
Articles associés
- Utiliser l'état de démarrage de l'activité
- Utiliser un module complémentaire Meet
- Implémenter l'API Co-Doing
- Sécurité des modules complémentaires