InteractiveMessage is a specialized object that encapsulates an interactive unit within a chat message, such as an embedded form that users can fill out directly within the chat interface. This enhances user engagement by making the chat experience more interactive and responsive to user input.
InteractiveMessage
InteractiveMessage is a chat message with embedded interactive content. It can contain various properties:
Interaction
AnInteraction represents a user action involved with an InteractiveMessage. It includes:
elementId: An identifier for a specific interactive element.interactedAt: A timestamp indicating when the interaction occurred.
Mark as Interacted
This method marks a message as interacted by identifying it with the provided Id. it also logs the interactive element associated with the interaction.- TypeScript
Goal Completion
A key feature of InteractiveMessage is checking whether a user’s interactions with the message meet the definedInteractionGoal
You would be tracking every interaction users perform on an InteractiveMessage (captured as Interaction objects) and comparing those with the defined InteractionGoal. The completion of a goal can vary depending on the goal type:
This user interaction tracking mechanism provides a flexible and efficient way to monitor user engagement within an interactive chat session. By defining clear interaction goals and checking user interactions against these goals, you can manage user engagement and improve the overall chat experience in your CometChat-enabled application.
InteractionGoal The
InteractionGoal represents the desired outcome of an interaction with an InteractiveMessage. It includes:
elementIds: A list of identifiers for the interactive elements.type: The type of interaction goal from theCometChat.
Sending InteractiveMessages
TheInteractiveMessage can be sent using the sendInteractiveMessage method of the CometChat class. The method requires an InteractiveMessage object and a CallbackListener for handling the response.
Here is an example of how to use it:
- TypeScript
Event Listeners
CometChat SDK provides event listeners to handle real-time events related toInteractiveMessage.
On InteractiveMessage Received
TheonInteractiveMessageReceived event listener is triggered when an InteractiveMessage is received.
Here is an example:
- TypeScript
On Interaction Goal Completed
TheonInteractionGoalCompleted event listener is invoked when an interaction goal is achieved.
Here is an example:
- TypeScript
Usage
AnInteractiveMessage is constructed with the receiver’s UID, the receiver type, the interactive type, and interactive data as a JSONObject. Once created, the InteractiveMessage can be sent using CometChat’s sendInteractiveMessage() method. Incoming InteractiveMessages can be received and processed via CometChat’s message listener framework.