Skip to main content
CometChat supports three types of messages: You can also send Interactive Messages for forms, cards, and custom UI elements.
Available via: SDK | REST API | UI Kits
You can also send metadata along with a text or media message. Think, for example, if you’d want to share the user’s location with every message, you can use the metadata field.

Text Message

In other words, as a sender, how do I send a text message? To send a text message to a single user or group, you need to use the sendMessage() method and pass a TextMessage object to it.

Add Metadata

To send custom data along with a text message, you can use the setMetadata method and pass a Map to it.

Add Tags

To add a tag to a message you can assign value in .tags variable of the TextMessage Class. tags accepts a list of tags.
Once the text message object is ready, you need to use the sendMessage() method to send the text message to the recipient.
The TextMessage class constructor takes the following parameters: When a text message is sent successfully, the response will include a TextMessage object which includes all information related to the sent message.
On Success — A TextMessage object containing all details of the sent message:TextMessage Object:
sender Object:
receiver Object:

Set Quoted Message

To set a quoted message for a message, use the setQuotedMessageId and setQuotedMessage method of the TextMessage class. This method accepts the ID of the message to be quoted.
Once the text message object is ready, you need to use the sendMessage() method to send the text message to the recipient.
The TextMessage class constructor takes the following parameters: When a text message is sent successfully, the response will include a TextMessage object which includes all information related to the sent message.
On Success — A TextMessage object containing all details of the sent quoted message:TextMessage Object:
sender Object:
receiver Object:

Media Message

In other words, as a sender, how do I send a media message like photos, videos & files? To send a media message to any user or group, you need to use the sendMediaMessage() method and pass a MediaMessage object to it.

Add Metadata

To send custom data along with a media message, you can use the setMetadata method and pass a Map to it.

Add Caption(Text along with Media Message)

Add Tags

To add a tag to a message you can use the setTags() method of the MediaMessage Class. The setTags() method accepts a list of tags.

Set Quoted Message

To quote a message in a media message, use the quotedMessageId property of the MediaMessage class.
There are 2 ways you can send Media Messages using the CometChat SDK:
  1. By providing the File : You can directly share the file object while creating an object of the MediaMessage class. When the media message is sent using the sendMediaMessage() method, this file is then uploaded to CometChat servers and the URL of the file is sent in the success response of the sendMediaMessage() function.
The MediaMessage class constructor takes the following parameters:
On Success — A MediaMessage object containing all details of the sent media message:MediaMessage Object:
sender Object:
receiver Object:
attachment Object:
  1. By providing the URL of the File: The second way to send media messages using the CometChat SDK is to provide the SDK with the URL of any file that is hosted on your servers or any cloud storage. To achieve this you will have to make use of the Attachment class that is available in the MediaMessage class. For more information, you can refer to the below code snippet:
When a media message is sent successfully, the response will include a MediaMessage object which includes all information related to the sent message.
On Success — A MediaMessage object containing all details of the sent media message (via URL):MediaMessage Object:
sender Object:
receiver Object:
attachment Object:
If you wish to send a caption or some text along with the Media Message, you can use the caption field provided by the MediaMessage class. To get and set the caption you can use the .caption variable . As with text messages, the metadata field can be used with media messages as well. Any additional information can be passed along with the media message as a Map.

Custom Message

In other words, as a sender, how do I send a custom message like location co-ordinates? CometChat allows you to send custom messages which are neither text nor media messages. In order to send a custom message, you need to use the sendCustomMessage() method. The sendCustomMessage() methods takes an object of the CustomMessage which can be obtained using the below constructor.
The above constructor, helps you create a custom message with the message type set to whatever is passed to the constructor and the category set to custom. The CustomMessage class constructor takes the following parameters: You can also use the subType field of the CustomMessage class to set a specific type for the custom message. This can be achieved using the subtype field.

Add Metadata

To send custom data along with a custom message, you can use the metadata property and pass a Map to it.

Add Tags

To add a tag to a message you can assign value in .tags variable of the CustomMessage Class. tags accepts a list of tags.

Set Quoted Message

To quote a message in a custom message, use the quotedMessageId property of the CustomMessage class.
Once the object of CustomMessage class is ready you can send the custom message using the sendCustomMessage() method.
The above sample explains how custom messages can be used to share the location with a user. Similarly, you can send custom messages to groups. On success, you will receive an object of CustomMessage class.
On Success — A CustomMessage object containing all details of the sent custom message:CustomMessage Object:
sender Object:
receiver Object:

Update Conversation

How can I decide whether the custom message should update the last message of a conversation? By default, a custom message will update the last message of a conversation. If you wish to not update the last message of the conversation when a custom message is sent, please use updateConversation (boolean value) method of the Custom Message.

Custom Notification Body

How can i customise the notification body of custom message? To add a custom notification body for Push, Email & SMS notification of a custom message you can use the conversationText method of Custom Message class.
It is also possible to send interactive messages from CometChat , to know more click here

Next Steps

Receive Messages

Handle incoming messages in real-time

Edit Message

Modify sent messages after delivery

Interactive Messages

Send forms, cards, and interactive elements

Delete Message

Remove messages from conversations