Cómo usar la función de mensajería de fotograma a fotograma
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se describe cómo enviar mensajes del cliente desde un complemento que se ejecuta en el iframe del panel lateral a un complemento que se ejecuta en el iframe del escenario principal. La mensajería fotograma a fotograma solo se produce en el cliente, por lo que la entrega de mensajes es casi instantánea.
Para enviar un mensaje, sigue estos pasos:
- Desde el panel lateral hasta el escenario principal, usa el método
notifyMainStage()
.
await sidePanelClient.notifyMainStage("YOUR_MESSAGE");
- Desde el escenario principal hasta el panel lateral, usa el método
notifySidePanel()
.
await mainStageClient.notifySidePanel("YOUR_MESSAGE");
La longitud de payload
debe cumplir con el límite de tamaño especificado.
Para recibir el mensaje, el complemento debe suscribirse a la devolución de llamada frameToFrameMessage
. En la siguiente muestra de código, se indica cómo suscribirse a una devolución de llamada de frameToFrameMessage
:
sidePanelClient.on('frameToFrameMessage', (arg: FrameToFrameMessage) => {
// YOUR_CODE
});
El complemento de muestra"Animación" en GitHub incluye un ejemplo completo de mensajería fotograma a fotograma. Después de que se inicia la actividad, el panel lateral notifica al escenario principal cada vez que el usuario cambia una entrada.
El escenario principal también se suscribe a la devolución de llamada frameToFrameMessage
para recibir el estado actualizado.
Notas
Los mensajes de fotograma a fotograma que envía un participante determinado son solo visibles para ese mismo participante. Para enviar mensajes o estados a otros participantes, obtén información para compartir el estado del complemento.
La entrega de mensajes solo se intenta una vez. Para recibir mensajes, el panel receptor debe estar abierto y la app debe suscribirse a la devolución de llamada antes de que se envíe el mensaje.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-29 (UTC)
[null,null,["Última actualización: 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)"]]