Frame-to-Frame-Messaging verwenden

Auf dieser Seite wird beschrieben, wie Sie clientseitig Nachrichten von einem Add-on, das im Seitenleisten-iFrame ausgeführt wird, an ein Add-on senden, das im Hauptbühnen-iFrame ausgeführt wird. Die Frame-to-Frame-Kommunikation findet nur auf der Clientseite statt, sodass Nachrichten nahezu sofort zugestellt werden.

So senden Sie eine Nachricht:

  • Verwenden Sie die Methode notifyMainStage(), um ein Element von der Seitenleiste auf den Hauptbildschirm zu verschieben.
    await sidePanelClient.notifyMainStage("YOUR_MESSAGE");
  • Verwenden Sie die Methode notifySidePanel(), um Inhalte von der Hauptbühne in die Seitenleiste zu verschieben.
    await mainStageClient.notifySidePanel("YOUR_MESSAGE");

Die Länge von payload muss dem angegebenen Größenlimit entsprechen.

Damit das Add-on die Nachricht empfangen kann, muss es den Callback frameToFrameMessage abonnieren. Das folgende Codebeispiel zeigt, wie Sie einen frameToFrameMessage-Callback abonnieren:

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

Das Beispiel-Add-on „Animation“ auf GitHub enthält ein vollständiges Beispiel für die Frame-zu-Frame-Kommunikation. Nachdem die Aktivität gestartet wurde, benachrichtigt die Seitenleiste die Hauptbühne, wenn der Nutzer eine Eingabe ändert. Die Hauptbühne abonniert auch den frameToFrameMessage-Callback, um den aktualisierten Status zu erhalten.

Hinweise

  • Frame-to-Frame-Nachrichten, die von einem bestimmten Teilnehmer gesendet werden, sind nur für diesen Teilnehmer sichtbar. Informationen zum Senden von Nachrichten oder Status an andere Teilnehmer finden Sie hier.

  • Die Zustellung der Nachricht wird nur einmal versucht. Damit Nachrichten empfangen werden können, muss das empfangende Feld geöffnet sein und die App muss den Callback abonnieren, bevor die Nachricht gesendet wird.