Frame-to-Frame-Messaging verwenden

Auf dieser Seite wird beschrieben, wie Sie Nachrichten auf der Clientseite von einem Add-on, das im Seitenleisten-iFrame ausgeführt wird, an ein Add-on senden, das im iFrame der Haupt bühne ausgeführt wird. Die Nachrichtenübertragung zwischen Frames erfolgt nur auf der Clientseite, sodass die Nachrichten fast sofort zugestellt werden.

So senden Sie eine Nachricht:

  • Verwenden Sie die notifyMainStage() Methode, um eine Nachricht von der Seitenleiste an die Hauptbühne zu senden.
    await sidePanelClient.notifyMainStage("YOUR_MESSAGE");
  • Verwenden Sie die notifySidePanel() Methode, um eine Nachricht von der Hauptbühne an die Seitenleiste zu senden.
    await mainStageClient.notifySidePanel("YOUR_MESSAGE");

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

Damit das Add-on die Nachricht empfangen kann, muss es den frameToFrameMessage Callback abonnieren. Im folgenden Codebeispiel wird gezeigt, wie Sie den 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 Nachrichtenübertragung zwischen Frames. Nachdem die Aktivität gestartet wurde, benachrichtigt die Seitenleiste die Hauptbühne, wenn der Nutzer eine Eingabe ändert. Die Hauptbühne abonniert auch den CallbackframeToFrameMessage um aktualisierte Statusinformationen zu erhalten.

Hinweise

  • Nachrichten, die von einem bestimmten Teilnehmer zwischen Frames gesendet werden, sind nur für diesen Teilnehmer sichtbar. Informationen zum Senden von Nachrichten oder Statusinformationen an andere Teilnehmer finden Sie unter Informationen zum Add-on-Status freigeben.

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