Frame-to-Frame-Messaging verwenden

Auf dieser Seite wird beschrieben, wie Sie clientseitig Nachrichten von einem Add-on, das im iframe der Seitenleiste ausgeführt wird, an ein Add-on senden, das im iframe der Hauptbühne ausgeführt wird. Die Frame-zu-Frame-Mitteilung erfolgt nur auf Clientseite, sodass die Nachrichtenzustellung nahezu sofort erfolgt.

So senden Sie eine Nachricht:

  • Verwenden Sie die Methode notifyMainStage(), um von der Seitenleiste zum Hauptbildschirm zu wechseln.
    await sidePanelClient.notifyMainStage("YOUR_MESSAGE");
    await mainStageClient.notifySidePanel("YOUR_MESSAGE");

Die Länge von payload muss der angegebenen Größe entsprechen.

Damit das Add-on die Nachricht erhält, muss es den frameToFrameMessage-Callback 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 Frame-to-Frame-Messaging. Nach dem Start der Aktivität benachrichtigt die Seitenleiste die Hauptanzeige, wenn der Nutzer eine Eingabe ändert. Die Hauptschleife meldet sich auch für den frameToFrameMessage-Callback an, um den aktualisierten Status zu erhalten.

Hinweise

  • Frame-to-Frame-Nachrichten, die von einem Teilnehmer gesendet werden, sind nur für diesen Teilnehmer sichtbar. Wenn Sie Nachrichten oder Status an andere Teilnehmer senden möchten, erfahren Sie hier, wie Sie den Add-on-Status teilen.

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