На этой странице описывается, как отправлять сообщения на стороне клиента из надстройки, работающей в iframe на боковой панели, в надстройку, работающую в iframe на основной стадии . Покадровый обмен сообщениями происходит только на стороне клиента, поэтому доставка сообщений происходит практически мгновенно.
Чтобы отправить сообщение:
- От боковой панели к основной сцене используйте метод
notifyMainStage()
.
await sidePanelClient.notifyMainStage("YOUR_MESSAGE");
- От главной сцены до боковой панели используйте метод
notifySidePanel()
.
await mainStageClient.notifySidePanel("YOUR_MESSAGE");
Длина payload
должна соответствовать указанному ограничению размера.
Чтобы получить сообщение, надстройка должна подписаться на обратный вызов frameToFrameMessage
. В следующем примере кода показано, как подписаться на обратный вызов frameToFrameMessage
:
sidePanelClient.on('frameToFrameMessage', (arg: FrameToFrameMessage) => {
// YOUR_CODE
});
Пример дополнения «Анимация» на GitHub включает полный пример покадрового обмена сообщениями. После запуска действия боковая панель уведомляет основную сцену всякий раз, когда пользователь меняет ввод . Основная сцена также подписывается на обратный вызов frameToFrameMessage
для получения обновленного состояния.
Примечания
Покадровые сообщения, отправленные данным участником, видны только этому самому участнику. Чтобы отправлять сообщения или состояние другим участникам, узнайте, как поделиться состоянием дополнения .
Доставка сообщения предпринимается только один раз. Чтобы получать сообщения, панель приема должна быть открыта, а приложение должно подписаться на обратный вызов перед отправкой сообщения.