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