topic-based-chat
Topic based chat lets you to group the chat by topic. You can create the topic, send all types of messages with topic information and thus you can receive the messages by topic.
Create Topic#
You can use the below given method to create a new topic.
| Argument | Type | Description |
|---|---|---|
| topicName | String | Name of the topic (cannot be null or empty) |
| metaData | [MetaData] | META_DATA is an optional parameter to provide additional information of topic, you can pass array of MetaData Maximum Size is 3 |
Get Topics#
You can use the below given method to get the topics details.
| Argument | Type | Description |
|---|---|---|
| topicIds | [String] | List of topic ids |
Send Message#
To send the message to the user, use the below methods. Different messages such as text, image, audio, video & document type messages can be sent using the below methods.
Text message#
To send your text message, you need to pass the TextMessage object as an argument to the parameter in the sendTextMessage() method.
| Argument | Type | Description |
|---|---|---|
| MESSAGE_PARAMS | TextMessage | Object to hold the parameters of the text message |
| CALLBACK | FlySendMessageListener | callback to observe the action status |
Image message#
To send your image message, you need to pass the FileMessage object with FileMessageParams set as an argument to the parameter in the sendMediaFileMessage() method.
| Argument | Type | Description |
|---|---|---|
| MESSAGE_PARAMS | FileMessage | Object to hold the parameters of the image message |
| CALLBACK | FlySendMessageListener | callback to observe the action status |
To get the metadata of an image file for sending images make use of the utility methods
MediaUtils.getAssetsImageInfo()andMediaUtils.compressImage()
caution
If Image attachment feature unavailable for your plan then it will throw 403 exception.
Audio message#
To send your audio message, you need to pass the FileMessage object with FileMessageParams set as an argument to the parameter in the sendMediaFileMessage() method.
| Argument | Type | Description |
|---|---|---|
| MESSAGE_PARAMS | FileMessage | Object to hold the parameters of the audio message |
| listener | FlySendMessageListener | callback to observe the action status |
To get the metadata of an audio file for sending audio make use of the utility method
MediaUtils.processAudio()
caution
If Audio attachment feature unavailable for your plan then it will throw 403 exception.
Video message#
To send your video message, you need to pass the FileMessage object with FileMessageParams set as an argument to the parameter in the sendMediaFileMessage() method.
| Argument | Type | Description |
|---|---|---|
| MESSAGE_PARAMS | FileMessage | Object to hold the parameters of the video message |
| LISTENER | FlySendMessageListener | callback to observe the action status |
To get the metadata of a video file for sending videos make use of the utility methods
MediaUtils.processVideo()andMediaUtils.compressVideo()
caution
If Video attachment feature unavailable for your plan then it will throw 403 exception.
Document message#
To send your document message, you need to pass the FileMessage object with FileMessageParams set as an argument to the parameter in the sendMediaFileMessage() method.
| Argument | Type | Description |
|---|---|---|
| MESSAGE_PARAMS | FileMessage | Object to hold the parameters of the document message |
| CALLBACK | FlySendMessageListener | callback to observe the action status |
caution
If Document attachment feature unavailable for your plan then it will throw 403 exception.
Location message#
To send your location message, you need to pass the FileMessage object with LocationMessageParams set as an argument to the parameter in the sendMediaFileMessage() method.
| Argument | Type | Description |
|---|---|---|
| MESSAGE_PARAMS | FileMessage | Object to hold the parameters of the location message |
| CALLBACK | FlySendMessageListener | callback to observe the action status |
caution
If Location attachment feature unavailable for your plan then it will throw 403 exception.
Contact message#
To send your contact message, you need to pass the FileMessage object with ContactMessageParams set as an argument to the parameter in the sendMediaFileMessage() method.
| Argument | Type | Description |
|---|---|---|
| MESSAGE_PARAMS | FileMessage | Object to hold the parameters of the contact message |
| CALLBACK | FlySendMessageListener | callback to observe the action status |
caution
If Contact attachment feature unavailable for your plan then it will throw 403 exception.
Meet message#
To send your Meet message, you need to pass the MeetMessage as an argument to the parameter in the sendMeetMessage() method.
| Argument | Type | Description |
|---|---|---|
| MESSAGE_PARAMS | MeetMessage | Object to hold the parameters of the meet message |
| CALLBACK | FlySendMessageListener | callback to observe the action status |
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()
| Argument | Type | Description |
|---|---|---|
| MESSAGE_PARAMS | TextMessage | Object to hold the parameters of the text message |
| CALLBACK | FlySendMessageListener | callback to observe the action status |
Receive Message#
To receive a Topic 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.
info
To learn more on message listener callbacks, see the Message Events Delegate.
Get Chats by Topic Id#
Create a TopicChatListParams instance. Here, you can set the topic based chat filter options .
| Argument | Type | Description |
|---|---|---|
| LIMIT | Int | No of topic based chats will be fetched for each request default 40 |
| TOPIC_ID | String | Particular topic based chats will be fetched |
Next, create a TopicChatListBuilder instance.
| Argument | Type | Description |
|---|---|---|
| TOPIC_LIST_PARAM | TopicChatListParams | Insatance of 'TopicChatListParams' |
Load Initial Topic Based Chats#
To fetch initial set of topic based chat data, call the below method.
| Argument | Type | Description |
|---|---|---|
| CALLBACK | FlyCompletionHandler | FlyCompletionHandler implemented as closures |
Load Next Set Topic Based Chats#
To fetch next set of topic based chats, call the below method.
| Argument | Type | Description |
|---|---|---|
| CALLBACK | FlyCompletionHandler | FlyCompletionHandler implemented as closures |
Get Message#
To get the chat and media messages, use the below methods
Get Chat Messages#
Initialization#
Create a FetchMessageListParams instance. Here, you can set the message filter to determine the message order and the starting point of the message list in the chat view.
| Argument | Type | Description |
|---|---|---|
| CHAT_ID | String | Jid of the user/group |
| MESSAGE_ID | String | Message id of the starting point optional |
| MESSAGE_TIME | Double | Message time of the starting point optional |
| EXCLUDE | Bool | If true starting point message will be excluded in message list default true |
| ASCENDING_ORDER | Bool | If true message list will be returned ascendingOrder by message time default false |
| LIMIT | Int | No of messages will be fetched for each request default 50 |
| TOPIC_ID | String | Topic ID to be fetched` |
Secondly, create a FetchMessageListQuery instance.
| Argument | Type | Description |
|---|---|---|
| MESSAGE_LIST_PARAM | FetchMessageListParams | 'Insatance of 'FetchMessageListParams' |
Load Initial Messages#
To fetch initial conversations between you and a single chat user or group, call the below method.
| Argument | Type | Description |
|---|---|---|
| CALLBACK | FlyCompletionHandler | FlyCompletionHandler implemented as closures |
Load Previous Messages#
To fetch previous conversations between you and a single chat user or group, call the below method.
| Argument | Type | Description |
|---|---|---|
| CALLBACK | FlyCompletionHandler | FlyCompletionHandler implemented as closures |
Load Next Messages#
To fetch next conversations between you and a single chat user or group, call the below method.
| Argument | Type | Description |
|---|---|---|
| CALLBACK | FlyCompletionHandler | FlyCompletionHandler implemented as closures |
Get media messages#
To get the media messages of a conversation, call the below method.
| Argument | Type | Description |
|---|---|---|
| JID | String | Jid of the chat user/group |