On September 25th, 2024, we released v2 of the Apps SDK. To learn what’s new and how to upgrade, see Migration FAQ and Migration guide.

appProcess.registerOnMessage

API reference for the appProcess.registerOnMessage method.

Registers a callback that listens for broadcasted messages.

Usage: Listen for inter-process messages

import { appProcess } from '@canva/platform';
const messageDisposer = appProcess.registerOnMessage(async (sender, message) => {
const { appProcessId, surface } = sender;
// Handle message from other process
});
// Later: cleanup the listener
await messageDisposer();
TYPESCRIPT

Parameters

callbackOnMessageCallback
Required

The callback that listens for broadcasted messages.

Parameters

senderobject
Required

Information about the process that sent the message.

  • sender.appProcessId - The ID of the process that sent the message.
  • sender.surface - The surface of the process that sent the message.
appProcessIdAppProcessId
Required

The unique identifier of an app process.

surfaceAppSurface
Required

The type of surface on which an app process can run.

The possible surfaces include:

  • "headless" - A surface for when there is no visible user interface.
  • "object_panel" - A surface that renders a user interface in the side panel of the Canva editor.
  • "selected_image_overlay" - A surface that can be opened on top of a selected image.

Available values:

  • "object_panel"
  • "selected_image_overlay"
  • "headless"
messageany
Required

The broadcasted message.

Returns

Promise<void>

Returns

A disposer function that cleans up the registered callback.

() => Promise<void>