InteractiveMessage
is a chat message with embedded interactive content. It can contain various properties:
Parameter | Description | Required |
---|---|---|
receiverId | The UID or GUID of the recipient | Yes |
receiverType | The type of the receiver to whom the message is to be sent i.e CometChatConstants.RECEIVER_TYPE_USER (user) or CometChatConstants.RECEIVER_TYPE_GROUP (group) | Yes |
messageType | The type of the message that needs to be sent | Yes |
interactiveData | A JSONObject holding structured data for the interactive element. | Yes |
allowSenderInteraction | A boolean determining whether the message sender can interact with the message by default it is set to false. | Optional (Default: false) |
interactionGoal | An InteractionGoal object encapsulating the intended outcome of interacting with the InteractiveMessage by default it is set to none | Optional (Default: none) |
Interaction
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.InteractiveMessage
is checking whether a user’s interactions with the message meet the defined InteractionGoal
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:
Goals | Description | Keys |
---|---|---|
Any Interaction | The goal is considered completed if there is at least one interaction. | CometChatConstants.INTERACTION_TYPE_ANY |
Any of Specific Interactions | The goal is achieved if any of the specified interactions occurred. | CometChatConstants.INTERACTION_TYPE_ANY_OF |
All of Specific Interactions | The goal is completed when all specified interactions occur. | CometChatConstants.INTERACTION_TYPE_ALL_OF |
None | The goal is never completed. | CometChatConstants.INTERACTION_TYPE_NONE |
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 the CometChatConstants
.InteractiveMessage
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:
InteractiveMessage
.
onInteractiveMessageReceived
event listener is triggered when an InteractiveMessage
is received.
Here is an example:
onInteractionGoalCompleted
event listener is invoked when an interaction goal is achieved.
Here is an example: