Message By MetaData

To send custom data along with a message, you can use metaData param provided to all kinds of messages such as Text, Image, audio, video & document.

Text message#

To send your text message, you need to pass the TextMessage object as an argument to the parameter in the sendTextMessage() method.

TextMessage textMessage = new TextMessage();
textMessage.setToId(TO_JID);
textMessage.setMessageText(TEXT);
textMessage.setReplyMessageId(REPLY_MESSAGE_ID); // Optional
textMessage.setMentionedUsersIds(MENTION_IDS); // Optional
textMessage.setMetaData(META_DATA); //Optional
FlyMessenger.sendTextMessage(textMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSTextMessageObject to hold the parameters of the text message
CALLBACKSendMessageCallbackcallback to observe the action status

Image message#

To send your image message, you need to pass the FileMessage object as an argument to the parameter in the sendMediaFileMessage() method.

FileMessageParams fileMessageParams = new FileMessageParams();
fileMessageParams.setFile(FILE);
fileMessageParams.setCaption(CAPTION); //Optional
FileMessage fileMessage = new FileMessage();
fileMessage.setToId(TO_JID);
fileMessage.setMessageType(MessageType.IMAGE);
fileMessage.setReplyMessageId(REPLY_MESSAGE_ID); //Optional
fileMessage.setMentionedUsersIds(MENTION_IDS); //Optional
fileMessage.setMetaData(META_DATA); //Optional
fileMessage.setFileMessage(fileMessageParams);
FlyMessenger.sendMediaFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSFileMessageObject to hold the parameters of the image message
CALLBACKSendMessageCallbackcallback to observe the action status

Note : In ChatManager .setMediaFolderName should be defined to set your own local path to store app media files.

caution

If Image attachment feature unavailable for your plan then it will throw 403 exception.

FlyMessenger.sendFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
caution

FlyMessenger.sendFileMessage() method was deprecated and will be removed in the future release. migrate to FlyMessenger.sendMediaFileMessage() method to send Image files.

Image message with url#

To send your image message, you need to pass the FileMessage object as an argument to the parameter in the sendMediaFileMessage() method.

FileMessageParams fileMessageParams = new FileMessageParams();
fileMessageParams.setFileUrl(FILE_URL);
fileMessageParams.setFileName(FILE_NAME);
fileMessageParams.setFileSize(FILE_SIZE);
fileMessageParams.setLocalFilePath(LOCAL_FILE_PATH);
fileMessageParams.setThumbImage(THUMB_IMAGE);
fileMessageParams.setCaption(CAPTION); //Optional
FileMessage sendMessageParams = new FileMessage();
sendMessageParams.setToId(TO_JID);
sendMessageParams.setMessageType(MessageType.IMAGE);
sendMessageParams.setReplyMessageId(REPLY_MESSAGE_ID); //Optional
sendMessageParams.setMentionedUsersIds(MENTION_IDS); //Optional
sendMessageParams.setMetaData(META_DATA); //Optional
sendMessageParams.setFileMessage(fileMessageParams);
FlyMessenger.sendMediaFileMessage(sendMessageParams, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSFileMessageObject to hold the parameters of the image message
CALLBACKSendMessageCallbackcallback to observe the action status
caution

If Image attachment feature unavailable for your plan then it will throw 403 exception.

FlyMessenger.sendFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
caution

FlyMessenger.sendFileMessage() method was deprecated and will be removed in the future release. migrate to FlyMessenger.sendMediaFileMessage() method to send Image files.

Video message#

To send your video message, you need to pass the FileMessage object as an argument to the parameter in the sendMediaFileMessage() method.

FileMessageParams fileMessageParams = new FileMessageParams();
fileMessageParams.setFile(FILE);
fileMessageParams.setCaption(CAPTION);
FileMessage fileMessage = new FileMessage();
fileMessage.setToId(TO_JID);
fileMessage.setMessageType(MessageType.VIDEO);
fileMessage.setReplyMessageId(REPLY_MESSAGE_ID); //Optional
fileMessage.setMentionedUsersIds(MENTION_IDS); //Optional
fileMessage.setMetaData(META_DATA); //Optional
fileMessage.setFileMessage(fileMessageParams);
FlyMessenger.sendMediaFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSFileMessageObject to hold the parameters of the video message
CALLBACKSendMessageCallbackcallback to observe the action status

Note : In ChatManager .setMediaFolderName should be defined to set your own local path to store app media files.

caution

If Video attachment feature unavailable for your plan then it will throw 403 exception.

FlyMessenger.sendFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
caution

FlyMessenger.sendFileMessage() method was deprecated and will be removed in the future release. migrate to FlyMessenger.sendMediaFileMessage() method to send Video files.

Video message with url#

To send your video message, you need to pass the FileMessage object as an argument to the parameter in the sendMediaFileMessage() method.

FileMessageParams fileMessageParams = new FileMessageParams();
fileMessageParams.setFileUrl(FILE_URL);
fileMessageParams.setFileName(FILE_NAME);
fileMessageParams.setFileSize(FILE_SIZE);
fileMessageParams.setLocalFilePath(LOCAL_FILE_PATH);
fileMessageParams.setThumbImage(THUMB_IMAGE);
fileMessageParams.setDuration(DURATION);
fileMessageParams.setCaption(CAPTION); //Optional
FileMessage fileMessage = new FileMessage();
fileMessage.setToId(TO_JID);
fileMessage.setMessageType(MessageType.VIDEO);
fileMessage.setReplyMessageId(REPLY_MESSAGE_ID); //Optional
fileMessage.setMentionedUsersIds(MENTION_IDS); //Optional
fileMessage.setMetaData(META_DATA); //Optional
fileMessage.setFileMessage(fileMessageParams);
FlyMessenger.sendMediaFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSFileMessageObject to hold the parameters of the video message
CALLBACKSendMessageCallbackcallback to observe the action status
caution

If Video attachment feature unavailable for your plan then it will throw 403 exception.

FlyMessenger.sendFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
caution

FlyMessenger.sendFileMessage() method was deprecated and will be removed in the future release. migrate to FlyMessenger.sendMediaFileMessage() method to send Video files.

Audio message#

To send your audio message, you need to pass the FileMessage object as an argument to the parameter in the sendMediaFileMessage() method.

FileMessageParams fileMessageParams = new FileMessageParams();
fileMessageParams.setFile(FILE);
FileMessage fileMessage = new FileMessage();
fileMessage.setToId(TO_JID);
fileMessage.setMessageType(MessageType.AUDIO or MessageType.AUDIO_RECORDED);
fileMessage.setReplyMessageId(REPLY_MESSAGE_ID); //Optional
fileMessage.setMetaData(META_DATA); //Optional
fileMessage.setFileMessage(fileMessageParams);
FlyMessenger.sendMediaFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSFileMessageObject to hold the parameters of the audio message
CALLBACKSendMessageCallbackcallback to observe the action status

Note : In ChatManager .setMediaFolderName should be defined to set your own local path to store app media files.

caution

If Audio attachment feature unavailable for your plan then it will throw 403 exception.

FlyMessenger.sendFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
caution

FlyMessenger.sendFileMessage() method was deprecated and will be removed in the future release. migrate to FlyMessenger.sendMediaFileMessage() method to send Audio files.

Audio message with url#

To send your audio message, you need to pass the FileMessage object as an argument to the parameter in the sendMediaFileMessage() method.

FileMessageParams fileMessageParams = new FileMessageParams();
fileMessageParams.setFileUrl(FILE_URL);
fileMessageParams.setFileSize(FILE_SIZE);
fileMessageParams.setLocalFilePath(LOCAL_FILE_PATH);
fileMessageParams.setDuration(DURATION);
FileMessage fileMessage = new FileMessage();
fileMessage.setToId(TO_JID);
fileMessage.setMessageType(MessageType.AUDIO or MessageType.AUDIO_RECORDED);
fileMessage.setReplyMessageId(REPLY_MESSAGE_ID); //Optional
fileMessage.setMetaData(META_DATA); //Optional
fileMessage.setFileMessage(fileMessageParams);
FlyMessenger.sendMediaFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSFileMessageObject to hold the parameters of the audio message
CALLBACKSendMessageCallbackcallback to observe the action status
caution

If Audio attachment feature unavailable for your plan then it will throw 403 exception.

FlyMessenger.sendFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
caution

FlyMessenger.sendFileMessage() method was deprecated and will be removed in the future release. migrate to FlyMessenger.sendMediaFileMessage() method to send Audio files.

Document message#

To send your document message, you need to pass the FileMessage object as an argument to the parameter in the sendMediaFileMessage() method.

FileMessageParams fileMessageParams = new FileMessageParams();
fileMessageParams.setFile(FILE);
FileMessage fileMessage = new FileMessage();
fileMessage.setToId(TO_JID);
fileMessage.setMessageType(MessageType.DOCUMENT);
fileMessage.setReplyMessageId(REPLY_MESSAGE_ID); //Optional
fileMessage.setMetaData(META_DATA); //Optional
fileMessage.setFileMessage(fileMessageParams);
FlyMessenger.sendMediaFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSFileMessageObject to hold the parameters of the document message
CALLBACKSendMessageCallbackcallback to observe the action status

Note : In ChatManager .setMediaFolderName should be defined to set your own local path to store app media files.

caution

If Document attachment feature unavailable for your plan then it will throw 403 exception.

FlyMessenger.sendFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
caution

FlyMessenger.sendFileMessage() method was deprecated and will be removed in the future release. migrate to FlyMessenger.sendMediaFileMessage() method to send Document files.

Document message with url#

To send your document message, you need to pass the FileMessage object as an argument to the parameter in the sendMediaFileMessage() method.

FileMessageParams fileMessageParams = new FileMessageParams();
fileMessageParams.setFileUrl(FILE_URL);
fileMessageParams.setFileName(FILE_NAME);
fileMessageParams.setFileSize(FILE_SIZE);
fileMessageParams.setLocalFilePath(LOCAL_FILE_PATH);
FileMessage fileMessage = new FileMessage();
fileMessage.setToId(TO_JID);
fileMessage.setMessageType(MessageType.DOCUMENT);
fileMessage.setReplyMessageId(REPLY_MESSAGE_ID); //Optional
fileMessage.setMetaData(META_DATA); //Optional
fileMessage.setFileMessage(fileMessageParams);
FlyMessenger.sendMediaFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSFileMessageObject to hold the parameters of the document message
CALLBACKSendMessageCallbackcallback to observe the action status
caution

If Document attachment feature unavailable for your plan then it will throw 403 exception.

FlyMessenger.sendFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
caution

FlyMessenger.sendFileMessage() method was deprecated and will be removed in the future release. migrate to FlyMessenger.sendMediaFileMessage() method to send Document files.

Location message#

To send your location message, you need to pass the FileMessage object as an argument to the parameter in the sendMediaFileMessage() method.

LocationMessageParams locationMessageParams = new LocationMessageParams();
locationMessageParams.setLatitude(LATITUDE);
locationMessageParams.setLongitude(LONGITUDE);
FileMessage fileMessage = new FileMessage();
fileMessage.setToId(TO_JID);
fileMessage.setMessageType(MessageType.LOCATION);
fileMessage.setReplyMessageId(REPLY_MESSAGE_ID); //Optional
fileMessage.setLocationMessage(locationMessageParams);
fileMessage.setMetaData(META_DATA); //Optional
FlyMessenger.sendMediaFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSFileMessageObject to hold the parameters of the location message
CALLBACKSendMessageCallbackcallback to observe the action status
caution

If Location attachment feature unavailable for your plan then it will throw 403 exception.

FlyMessenger.sendFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
caution

FlyMessenger.sendFileMessage() method was deprecated and will be removed in the future release. migrate to FlyMessenger.sendMediaFileMessage() method to send Location message.

Contact message#

To send your contact message, you need to pass the FileMessage object as an argument to the parameter in the sendMediaFileMessage() method.

ContactMessageParams contactMessageParam = new ContactMessageParams();
contactMessageParam.setName(CONTACT_NAME);
contactMessageParam.setNumbers(CONTACT_NUMBERS);
FileMessage fileMessage = new FileMessage();
fileMessage.setToId(TO_JID);
fileMessage.setMessageType(MessageType.CONTACT);
fileMessage.setReplyMessageId(REPLY_MESSAGE_ID); //Optional
fileMessage.setContactMessage(contactMessageParam);
fileMessage.setMetaData(META_DATA); //Optional
FlyMessenger.sendMediaFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSFileMessageObject to hold the parameters of the contact message
CALLBACKSendMessageCallbackcallback to observe the action status
caution

If Contact attachment feature unavailable for your plan then it will throw 403 exception.

FlyMessenger.sendFileMessage(fileMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
caution

FlyMessenger.sendFileMessage() method was deprecated and will be removed in the future release. migrate to FlyMessenger.sendMediaFileMessage() method to send Contact message.

Send Reply message#

To send reply message to the original message, you need to pass the additional parameter original message-id in replyMessageId.TextMessage object as an argument to the parameter in the sendTextMessage() method.

TextMessage textMessage = new TextMessage();
textMessage.setToId(TO_JID);
textMessage.setMessageText(TEXT);
textMessage.setReplyMessageId(REPLY_MESSAGE_ID); // Optional
textMessage.setMentionedUsersIds(MENTION_IDS); // Optional
textMessage.setMetaData(META_DATA); //Optional
FlyMessenger.sendTextMessage(textMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSTextMessageObject to hold the parameters of the text message
CALLBACKSendMessageCallbackcallback to observe the action status

Meet message#

A meet message typically refers to a message or communication related to scheduling or planning a meeting. These messages can include information about the Scheduled date,time and meet link.

Create Meet link#

Before you send the meet message, you need to create the meet link using the createMeetLink method. Once the meet link has been created successfully, you can send the Meet message.

caution

If Group call feature is unavailable for your plan, then it will throw 403 exception

CallManager.createMeetLink((isSuccess, throwable, createMeetLinkData) -> {
if(isSuccess){
String meetlink = (String) createMeetLinkData.get("data");
}
});

To send your Meet message, you need to pass the MeetMessage object as an argument to the parameter in the sendMeetMessage() method.

MeetMessage meetMessage = new MeetMessage();
meetMessage.setToId(TO_JID);
meetMessage.setLink(LINK);
meetMessage.setScheduledDateTime(SCHEDULED_DATE_TIME);
meetMessage.setTitle(TITLE); //Optional
meetMessage.setReplyMessageId(REPLY_MESSAGE_ID); //Optional
meetMessage.setMentionedUsersIds(MENTION_IDS); //Optional
meetMessage.setMetaData(META_DATA); //Optional
meetMessage.setTopicId(TOPIC_ID); //Optional
FlyMessenger.sendMeetMessage(meetMessage, (isSuccess, error, chatMessage) -> {
if (isSuccess) {
//you can add this message object to your arraylist,
//then you can call notifyItemInserted in adapter of recycler view
}
});
ArgumentTypeDescription
MESSAGE_PARAMSMeetMessageObject to hold the parameters of the meet message
CALLBACKSendMessageCallbackcallback to observe the action status

Receive Message#

To receive a MetaData related message from another user you must implement the messageListener function. It’s a function that will be triggered whenever you receive a new message or related event in the chat.

fun onMessageReceived(ChatMessage message) {
}
info

To learn more on message listener callbacks, see the MessageEventsCallbacks.