Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
Publish on a Message Channel
Example
The following example walks through the Visualforce page markup to show how to publish to a Message Channel when a button is clicked.
In the page's JavaScript, we first get a reference to the custom Lightning Message Channel with the formula expression {!$MessageChannel.SampleMessageChannel__c}. This expression creates a token that is unique to your Message Channel. We then assign the token as a string to the variable SAMPLEMC.
The function handleClick() contains the message content that we want to publish. Here, the message is a recordId with the value "some string" and recordData, whose value is the key-value pair value: "some value". We then call the Lightning Message Service API's publish() method on the sforce.one object. The publish() function takes two parameters, a string containing the Message Channel token and the message payload.
In the page markup, we create a button and call handleClick() on its onclick() method.
1<apex:page >
2 <script>
3 // Load the MessageChannel token in a variable
4 var SAMPLEMC = "{!$MessageChannel.SampleMessageChannel__c}";
5 function handleClick() {
6 const payload = {
7 recordId: "some string",
8 recordData: {value: "some value"}
9 }
10 sforce.one.publish(SAMPLEMC, payload);
11 }
12 </script>
13 <div>
14 <p>Publish SampleMessageChannel</p>
15 <button onclick="handleClick()">Publish</button>
16 </div>
17</apex:page>