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-to-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 Nachricht wird nur einmal zugestellt. 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.