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.
Lightning Message Service Limitations
Keep the following in mind when working with Lightning message service.
- Supported Experiences
- Lightning message service supports only the following experiences:
- Lightning Experience standard navigation
- Lightning Experience console navigation
- Salesforce mobile app for Aura and Lightning Web Components, but not for Visualforce pages
- Lightning components used in Experience Builder sites.
- Aura Components That Don’t Render Aren’t Supported
- Lightning message service only supports Aura components that render. You can’t use lightning:messageChannel in an Aura component that uses the background utility item interface. Similarly, Aura components that use lightning:messageChannel can’t call Lightning Message Service methods in the init lifecycle handler because the component hasn’t rendered.
- lightning:messageChannel Must Be a Child of aura:component
- In a custom Aura component, lightning:messageChannel must be an immediate child of the aura:component tag. It can’t be nested in an HTML tag or
another component.
For example, the following code renders without a problem.
1<aura:component> 2 <lightning:messageChannel type="myMessageChannel__c" /> 3 <lightning:card>...</lightning:card> 4</aura:component>This code throws an error when the Aura component tries to render.
1<aura:component> 2 <lightning:card> 3 <lightning:messageChannel type="myMessageChannel__c" /> 4 </lightning:card> 5</aura:component> - Messages are Constrained by iframe Boundary
- If your component uses Lightning message service to publish a message, that message is constrained by any iframe boundary. To work around this limitation, use the sforce.one.subscribe() and sforce.one.unsubscribe() methods.
- Avoid Dynamically Creating lightning:messageChannel Components in Aura
- Do not usecreateComponent() to dynamically create a lightning:messageChannel component in Aura. Dynamically created components may not work as expected. For information on supported ways to create a lightning:messageChannel component, see Create a Message Channel.