Start message programmatically
Manually trigger an in-app message by its ID.
import { useScreeb } from "@screeb/sdk-react";
const MyComponent = () => {
const { messageStart } = useScreeb();
const handleShowMessage = async () => {
await messageStart(
"<message-id>",
false, // allowMultipleResponses
{ // optional hidden fields
color: "green",
article_id: 42
},
{ // optional hooks
version: "1.0.0",
onMessageShowed: (payload) => console.log("Message showed", payload),
},
"en" // optional language
);
};
return <button onClick={handleShowMessage}>Show message</button>;
};
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
messageId | string | Yes | The message UUID from your Screeb workspace |
allowMultipleResponses | boolean | No | Allow the message to be shown multiple times (default: true) |
hiddenFields | PropertyRecord | No | Hidden fields to pass to the message |
hooks | HooksMessageStart | No | Callback hooks for message events |
language | string | No | Force a specific language (e.g., "en", "fr") |
Close message
Close the currently running message:
import { useScreeb } from "@screeb/sdk-react";
const MyComponent = () => {
const { messageClose } = useScreeb();
const handleCloseMessage = async () => {
await messageClose();
};
return <button onClick={handleCloseMessage}>Close message</button>;
};