Korzystanie z funkcji przesyłania wiadomości między ramkami
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Na tej stronie opisujemy, jak wysyłać wiadomości po stronie klienta z dodatku działającego w elemencie iframe panelu bocznego do dodatku działającego w elemencie iframe głównego obszaru. Wymiana wiadomości między klatkami odbywa się tylko po stronie klienta, więc dostarczanie wiadomości jest niemal natychmiastowe.
Aby wysłać wiadomość:
await sidePanelClient.notifyMainStage("YOUR_MESSAGE");
- Aby przenieść element z głównego widoku do panelu bocznego, użyj metody
notifySidePanel()
.
await mainStageClient.notifySidePanel("YOUR_MESSAGE");
Długość payload
musi być zgodna z określonym limitem rozmiaru.
Aby otrzymać wiadomość, dodatek musi zasubskrybować wywołanie zwrotne frameToFrameMessage
. Poniższy przykładowy kod pokazuje, jak zasubskrybować wywołanie zwrotne frameToFrameMessage
:
sidePanelClient.on('frameToFrameMessage', (arg: FrameToFrameMessage) => {
// YOUR_CODE
});
Przykładowy dodatek „Animation” w GitHubie zawiera pełny przykład przesyłania wiadomości między ramkami. Po rozpoczęciu aktywności panel boczny powiadamia główną scenę o każdej zmianie danych wejściowych przez użytkownika.
Główna scena subskrybuje też frameToFrameMessage
wywołanie zwrotne, aby otrzymywać zaktualizowany stan.
Uwagi
Wiadomości wysyłane przez danego uczestnika w ramach jednej klatki są widoczne tylko dla tego uczestnika. Aby wysyłać wiadomości lub stan do innych uczestników, dowiedz się, jak udostępniać stan dodatku.
Próba dostarczenia wiadomości jest podejmowana tylko raz. Aby otrzymywać wiadomości, panel odbiorczy musi być otwarty, a aplikacja musi subskrybować wywołanie zwrotne przed wysłaniem wiadomości.
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-08-29 UTC.
[null,null,["Ostatnia aktualizacja: 2025-08-29 UTC."],[],[],null,["# Use frame-to-frame messaging\n\nThis page describes how to send messages on the client side from an\nadd-on running in the\n[side-panel](/workspace/meet/add-ons/guides/overview#side-panel) iframe to an\nadd-on running in the [main\nstage](/workspace/meet/add-ons/guides/overview#main-stage) iframe. Frame-to-frame\nmessaging only occurs on the client side, so message delivery is near\ninstantaneous.\n\nTo send a message:\n\n- From the side panel to the main stage, use the [`notifyMainStage()`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetsidepanelclient.notifymainstage) method.\n\n await sidePanelClient.notifyMainStage(\"\u003cvar translate=\"no\"\u003eYOUR_MESSAGE\u003c/var\u003e\");\n\n- From the main stage to the side panel, use the [`notifySidePanel()`](/workspace/meet/add-ons/reference/websdk/addon_sdk.meetmainstageclient.notifysidepanel) method.\n\n await mainStageClient.notifySidePanel(\"\u003cvar translate=\"no\"\u003eYOUR_MESSAGE\u003c/var\u003e\");\n\nThe [`payload`](/workspace/meet/add-ons/reference/websdk/addon_sdk.frametoframemessage.payload)\nlength must conform to its specified size limit.\n\nTo receive the message, the add-on must subscribe to\nthe\n[`frameToFrameMessage`](/workspace/meet/add-ons/reference/websdk/addon_sdk.addoncallbacks.frametoframemessage)\ncallback. The following code sample shows how to subscribe to a\n`frameToFrameMessage` callback: \n\n sidePanelClient.on('frameToFrameMessage', (arg: FrameToFrameMessage) =\u003e {\n // YOUR_CODE\n });\n\nThe [\"Animation\" sample add-on on GitHub](https://github.com/googleworkspace/meet/tree/3311b735550b8927c8b7ef2c6d06f768d9fe0476/addons-web-sdk/samples/animation-next-js)\nincludes a full example of frame-to-frame messaging. After the activity starts,\nthe side panel [notifies the main stage whenever the user changes an input](https://github.com/googleworkspace/meet/blob/3311b735550b8927c8b7ef2c6d06f768d9fe0476/addons-web-sdk/samples/animation-next-js/src/app/activitysidepanel/page.tsx#L27).\nThe main stage also [subscribes to the `frameToFrameMessage` callback](https://github.com/googleworkspace/meet/blob/3311b735550b8927c8b7ef2c6d06f768d9fe0476/addons-web-sdk/samples/animation-next-js/src/app/mainstage/page.tsx#L43)\nto receive updated state.\n\nNotes\n-----\n\n- Frame-to-frame messages sent by a given participant are *only* visible by\n that same participant. To send messages or state to other participants,\n learn how to [share add-on\n state](/workspace/meet/add-ons/guides/collaborate-in-the-add-on#collaboration).\n\n- Message delivery is only attempted once. To receive messages, the receiving\n panel must be open and the app must subscribe to the callback before the\n message is sent.\n\nRelated topics\n--------------\n\n- [Implement the Co-Doing API](/workspace/meet/add-ons/guides/use-CoDoingAPI)"]]