Send and receive ephemeral real-time messages with the CometChat Android SDK for live reactions and temporary indicators.
Transient messages are messages that are sent in real-time only and are not saved or tracked anywhere. The receiver of the message will only receive the message if he is online and these messages cannot be retrieved later.
You can use the sendTransientMessage() method to send a transient message to a user or in a group. The receiver will receive this information in the onTransientMessageReceived() method of the MessageListener class. In order to send the transient message, you need to use the TransientMessage class.
Java
Kotlin
String receiverId = "cometchat-uid-2";String receiverType = CometChatConstants.RECEIVER_TYPE_USER;JSONObject data = new JSONObject();data.put("LIVE_REACTION", "heart");TransientMessage transientMessage = new TransientMessage(uid, CometChatConstants.RECEIVER_TYPE_USER, data);CometChat.sendTransientMessage(transientMessage);
val receiverId = "cometchat-uid-2"val receiverType = CometChatConstants.RECEIVER_TYPE_USERval data = JSONObject()data.put("LIVE_REACTION", "heart")val transientMessage = TransientMessage(uid, CometChatConstants.RECEIVER_TYPE_USER, data)CometChat.sendTransientMessage(transientMessage)
Use onTransientMessageReceived in MessageListener to receive transient messages.
Java
Kotlin
CometChat.addMessageListener("UNIQUE_LISTENER_ID", new CometChat.MessageListener() { @Override public void onTransientMessageReceived(TransientMessage transientMessage) { Log.d(TAG, "Transient message received with data : " + transientMessage.getData()); }});
CometChat.addMessageListener("UNIQUE_LISTENER_ID", object : MessageListener() { override fun onTransientMessageReceived(transientMessage: TransientMessage) { Log.d(TAG, "Transient message received with data : " + transientMessage.data) }})
The TransientMessage class consists of the below parameters:
Parameter
Information
sender
An object of the User class holding all the information. related to the sender of the transient message.
receiverId
Unique Id of the receiver. This can be the Id of the group or the user the transient message is sent to.
receiverType
The type of the receiver - CometChatConstants.RECEIVER_TYPE_USER or CometChatConstants.RECEIVER_TYPE_GROUP
data
A JSONObject to provide data.
Always remove listeners when they’re no longer needed (e.g., in onDestroy() or when navigating away). Failing to remove listeners can cause memory leaks and duplicate event handling.