Utiliser le chat entre images

Cette page explique comment envoyer des messages côté client depuis un module complémentaire exécuté dans l' iframe du panneau latéral vers un module complémentaire exécuté dans l'iframe de la scène principale. La messagerie entre frames ne se produit que côté client. La diffusion des messages est donc quasi instantanée.

Pour envoyer un message, procédez comme suit :

  • Du panneau latéral à la scène principale, utilisez la notifyMainStage() méthode.
    await sidePanelClient.notifyMainStage("YOUR_MESSAGE");
  • De la scène principale au panneau latéral, utilisez la notifySidePanel() méthode.
    await mainStageClient.notifySidePanel("YOUR_MESSAGE");

La payload longueur doit respecter la limite de taille spécifiée.

Pour recevoir le message, le module complémentaire doit s'abonner à la frameToFrameMessage fonction de rappel. L'exemple de code suivant montre comment s'abonner à un rappel frameToFrameMessage :

sidePanelClient.on('frameToFrameMessage', (arg: FrameToFrameMessage) => {
    // YOUR_CODE
});

L'exemple de module complémentaire "Animation" sur GitHub inclut un exemple complet de messagerie entre frames. Une fois l'activité démarrée, le panneau latéral informe la scène principale chaque fois que l'utilisateur modifie une entrée. La scène principale s'abonne également au rappel subscribes to the frameToFrameMessage callback pour recevoir l'état mis à jour.

Remarques

  • Les messages entre frames envoyés par un participant donné ne sont visibles que par ce même participant. Pour envoyer des messages ou un état à d'autres participants, découvrez comment partager l'état d'un module complémentaire state.

  • La diffusion des messages n'est tentée qu'une seule fois. Pour recevoir des messages, le panneau de réception doit être ouvert et l'application doit s'abonner au rappel avant l'envoi du message.