Class documentation
There are few model class which defines and strucures the enity which are used in this SDK.
#
RecentChat ClassRecentChat model class was used to get recent chat info of user/group with whom we made conversation.
Property | Type | Description |
---|---|---|
jid | String | Unique Identifier of a user |
nickName | String | Nickname(Name saved in your contacts) of the user |
profileName | String | Name of the user in server he added during registration |
profileImage | String | display image url of the user |
profileThumbImage | String | display thumbnail image url of the user |
isGroup | boolean | Check whether the entity belongs to a single chat user or a group |
isBroadCast | boolean | Check whether the entity belongs to a single chat user or a broadcast |
profileType | ChatTypeEnum | Types of profile SingleChat/ Group / Broadcast |
unreadMessageCount | int | holds the value of unread messages count for that |
isChatPinned | boolean | Checks whether this recent chat model is a pinned to appear at top |
isChatArchived | boolean | Check whether the chat user/group is archived or not |
lastMessageId | String | hold the id of the last message in conversation with the user/group |
lastMessageStatus | String | hold the status of last message |
lastMessageContent | String | if the last message is text or image with caption then the text or caption will be available in this property |
lastMessageTime | Long | time in microseconds of the last last message in conversation with the user/group |
lastMessageType | MessageTypeEnum | holds the value of message type of the last message in conversation with the user/group |
isLastMessageSentByMe | boolean | Checks whether the last message in conversation is sent by me |
isLastMessageRecalledByUser | boolean | Checks whether the last message in conversation was recalled(deleted) by the user(contact) |
isMuted | boolean | Checks whether we muted the user/group |
isBlocked | boolean | says whether we blocked this user or not |
isBlockedMe | boolean | says whether the user(contact) blocked us or not |
isConversationUnRead | boolean | cheks whether the conversation has unread messages or not |
isBlockedByAdmin | boolean | Checks if contact blocked by admin or not |
isDeletedUser | boolean | Checks whether the user ideleted their account or not |
isItSavedContact | boolean | Checks whether this this user is saved in our phone contact book or not |
isGroupInOfflineMode | boolean | Checks whether the group was created in server or not |
isMentionedUser | boolean | Checks whether the message has mentioned users or not |
mentionedUsersIds | [String] | Hold the mentioned user's Ids |
If not made a conversation with a user then null object will be
returned for that user if queried.
#
ProfileDetails ClassProfileDetails model class was used to get info of a user/group.
Property | Type | Description |
---|---|---|
jid | String | Unique Identifier of a user |
name | String | Name of the user |
image | String | display image url of the user |
thumbImage | String | display thumbnail image url of the user |
mobileNumber | String | mobile number of the user |
nickName | String | Nickname(Name saved in your contacts) of the user |
status | String | Status of the user |
String | Email of the user | |
isMuted | boolean | Checks whether we muted the user/group |
isBlockedByAdmin | boolean | says whether we blocked this user or not |
isBlockedMe | boolean | says whether the user(contact) blocked us or not |
isItSavedContact | boolean | Checks whether this this user is saved in our phone contact book or not |
isGroupAdmin | boolen | boolean to represent whether this user is one of the admin of a group |
profileChatType | ChatTypeEnum | Checks whether this is a group profile or user profile |
groupCreatedTime | String | Holds the date of the created time of the group |
isGroupInOfflineMode | boolean | Checks whether the group was created in server or not |
isSyncNeeded | boolean | Checks whether group sync is needed or not to get participants from server |
#
Profile ClassProfile model class was used to update the profile of a user.
Property | Type | Description |
---|---|---|
jid | String | Unique Identifier of a user |
name | String | Name of the user |
nickName | String | Nick Name of the user |
image | String | display image url of the user |
mobileNumber | String | mobile number of the user |
status | String | Status of the user |
String | Email of the user |
#
ProfileStatus ClassProfileStatus model class was used to get/update the status of the user.
Property | type | Description |
---|---|---|
id | Long | Unique Identifierfor the status |
status | String | Holds the value of the status |
isCurrentStatus | boolean | checks whether the status object is the currently selected one |
#
BusyStatus ClassBusyStatus model class was used to get/update the busy status of the user.
Property | Type | Description |
---|---|---|
id | Long | Unique Identifierfor the busy status |
status | String | Holds the value of the busy status |
isCurrentStatus | boolean | checks whether the busy status object is the currently selected one |
#
MessageStatus ClassMessageStatus model class was used to denote the status of a message. It is implemented as a sealed class in kotlin.
Property | Type | Description |
---|---|---|
SENT | MessageStatus | message not yet received by the chat server |
ACKNOWLEDGED | MessageStatus | message received by the chat server |
DELIVERED | MessageStatus | message was delivered to the receiver |
SEEN | MessageStatus | the receiver user saw the message |
RECEIVED | MessageStatus | message was received from other user |
#
ChatMessage ClassChatMessage model class was used to define a message structure.
Property | Type | Description |
---|---|---|
messageId | String | Unique Id of a ChatMessage |
messageTextContent | String | Text content of the message if it was available |
messageSentTime | long | Posted time of the message |
senderUserName | String | Name of the user in server he added during registration |
senderNickName | String | Name of the Chat user in your phone book if contact sync is enabled |
senderUserJid | String | Jid of the sender if it is a group |
chatUserJid | String | Jid of the chat user/group |
messageType | MessageType | Type of the message |
messageChatType | ChatTypeEnum | Type of chat that the message belongs to |
messageStatus | MessageStatus | Status of the message |
isMessageSentByMe | boolean | true if message was sent by you |
isItCarbonMessage | boolean | true if the message is sent by you from another resource like web/pc |
isMessageStarred | boolean | true if you starred/favourite the message |
isMessageDeleted | boolean | true if the message was deleted locally |
isMessageRecalled | boolean | true if the message was deleted by the sender |
isMessageTranslated | boolean | true if the message was translated |
translatedMessageTextContent | String | translated text will be available here if translated |
contactChatMessage | ContactChatMessage | the receiver user saw the message |
locationChatMessage | LocationChatMessage | Holds the location data if this is a location message |
mediaChatMessage | MediaChatMessage | Holds the media details if this is a media message |
meetChatMessage | MeetChatMessage | Holds the meet details if this is a meet message |
isReplyMessage | boolean | true if this is a reply to another message |
replyParentChatMessage | ReplyParentChatMessage | Hold the necessary data of the original parent message to which this message is a reply |
mentionedUsersIds | [String] | Hold the mentioned user's Ids |
#
ReplyParentChatMessage ClassReplyParentChatMessage model class was used to provide necessary data for parent message to which a message was a reply.
Property | Type | Description |
---|---|---|
messageId | String | Id of the message |
messageChatType | messageChatType | Type of the message |
chatUserJid | String | Jid of the message sender user |
messageSentTime | long | Posted time of the message |
isMessageSentByMe | boolean | true if message was sent by you |
senderUserName | String | Name of the user in server he added during registration |
senderNickName | String | Name of the Chat user in your phone book if contact sync is enabled |
isMessageStarred | boolean | true if you starred/favourite the message |
isMessageDeleted | boolean | true if the message was deleted locally |
isMessageRecalled | boolean | true if the message was deleted by the sender |
messageTextContent | String | Text content of the message if it was available |
contactChatMessage | ContactChatMessage | the receiver user saw the message |
locationChatMessage | LocationChatMessage | Holds the location data if this is a location message |
mediaChatMessage | MediaChatMessage | Holds the media details if this is a media message |
meetChatMessage | MeetChatMessage | Holds the meet details if this is a meet message |
#
ContactChatMessage ClassContactChatMessage model class defines the structure of a Contact message.
Property | Type | Description |
---|---|---|
messageId | String | Id of the message |
contactName | String | Name of the contact |
contactJid | String | Jid of the contact if available |
contactPhoneNumbers | List<String> | List of phone numbers available for the contact |
isChatUser | List<Boolean> | List of boolean values to show whether the phone number in the same index of contactPhoneNumbers is a chatUser or not |
#
LocationChatMessage ClassLocationChatMessage model class defines the structure of a Location message.
Property | Type | Description |
---|---|---|
messageId | String | Id of the message |
latitude | double | Latitude of the location |
longitude | double | Longitude of the location |
mapLocationUrl | String | Url to go to a map for the location |
#
MediaChatMessage ClassMediaChatMessage model class defines the structure of a Media message.
Property | Type | Description |
---|---|---|
messageId | String | Id of the message |
mediaFileName | String | name of the media file |
mediaDuration | long | Duration of the media file if its a audio/video |
messageType | MessageTypeEnum | Type of the message |
mediaFileSize | long | Size of the media file |
mediaFileType | String | Type of the file |
mediaUploadStatus | int | Upload status of the media file |
mediaDownloadStatus | int | Download status of the media file |
mediaLocalStoragePath | String | Local path in which the media file resides if its available |
mediaThumbImage | String | Base64 thumbnail image string if it is a video/image |
mediaCaptionText | String | Holds the caption if one provided |
mediaProgressStatus | int | Progress of the upload/download media file |
audioType | AudioTypeEnum | Checks whether audio is recorded or not |
#
MeetChatMessage ClassMeetChatMessage model class defines the structure of a Meet message.
Property | Type | Description |
---|---|---|
messageId | String | Id of the message |
title | String | Title of the meet message |
link | String | Link of the meet message |
scheduledDateTime | Int | Timestamp of the meet message |
#
MediaData structMediaData struct holds the metadata information required to send the Media messages
Property | Type | Description |
---|---|---|
fileName | String | Name of the file |
fileURL | URL | URL of the media file |
fileSize | Double | Size of the file in bytes |
duration | Double | Duration of the media file if its an audio or video |
base64Thumbnail | String | base64 representation of the image or video's thumbnail |
fileKey | String | Key for the media file if its encrypted |
mediaType | MediaType | Type of the media file |
caption | String | Caption for the media file |
mentionedUsersIds | [String] | Hold the mentioned user's Ids |
#
MediaType enumMediaType enum holds the case of media attachments that can be sent in the SDK.
Case | Description |
---|---|
image | Image file |
video | Video file |
audio | Audio file |
document | Document file |
#
MediaQuality enumMediaQuality enum defines the quality of compression imposed on media files during compression.
Case | Description |
---|---|
best | File compressed to best qulity |
high | File compressed to high qulity |
medium | File compressed to medium qulity |
low | File compressed to lowest qulity |
uncompressed | File will be uncompressed |
#
MediaStatus enumValidates the status of the current video processing.
Case | Description |
---|---|
processing | Video processing is in progress |
success | Video processing completed |
failed | Video processing failed |
#
ChatDataModel structChatDataModel struct holds the chat data to share in email
Property | Type | Description |
---|---|---|
subject | String | subject to email |
messageContent | String | content to email |
mediaAttachmentsUrl | [URL] | list of media urls including text file url which has chat conversation history to share in email |
#
SearchMessage structSearch message defines the search result
Property | Type | Description |
---|---|---|
messageId | String | Id of the message |
chatUserJid | String | Jid of the chat user/group |
#
ChatTagsModel structChatTagsModel struct holds the chat tag data.
Property | Type | Description |
---|---|---|
tagId | String | Id of the chat tag |
tagname | String | Name of the chat tag |
taginfo | String | Information of the chat tag |
isRecommentedTag | boolean | Identify Recommented tag or not |
memberIdList | [String] | list of member ids going to add in chat tag |
currentUserId | String | Unique Identifier of a user |
#
UnsentMessage structUnsentMessage struct holds the data which is not sent yet but typed can be saved
Property | Type | Description |
---|---|---|
textContent | String | Id of the message |
mentionedUsers | [String] | Jid of the chat user/group |
mentionSearch | [String] | Mention user search characters list |
mentionLocation | [Int] | Mention user search characters range location list |
mentionLength | [Int] | Mention user search characters range length list |
#
MessageType enumMessageType enum holds the case of message types that can be sent in the SDK.
Case | Description |
---|---|
text | This indicates this message is Text Message |
location | This indicates this message is Location Message |
contact | This indicates this message is Contact Message |
image | This indicates this message is Image Message |
video | This indicates this message is Video Message |
audio | This indicates this message is Audio Message |
audioRecorded | This indicates this message is Recorded Audio Message |
document | This indicates this message is Document Message |
notification | This indicates this message is Notification Message |
meet | This indicates this message is Meet Message |
#
TextMessage structTextMessage object allows several types of parameters that you can configure to customize text messages as mentioned below.
Property | Type | Description |
---|---|---|
toId | String | jid of the end user/group |
messageText | String | message content to be sent |
replyMessageId | String | if it is a reply message for message A, then message A's messageId |
mentionedUsersIds | [String] | Array of userId to mention specific users while sending a group message |
metaData | MessageMetaData | Array of MessageMetaData to be sent |
topicID | String | Topic ID to be sent |
#
FileMessage structFileMessage object allows several types of parameters that you can configure to customize file messages as mentioned below.
Property | Type | Description |
---|---|---|
toId | String | jid of the end user/group |
replyMessageId | String | if it is a reply message for message A, then message A's messageId |
mentionedUsersIds | [String] | Array of userId to mention specific users while sending a group message |
messageType | MessageType | Type of the message to be sent |
locationMessage | LocationMessageParams | Object hold the parameters of the location message |
contactMessage | ContactMessageParams | Object hold the parameters of the contact message |
fileMessage | FileMessageParams | Object hold the parameters of the file message |
metaData | MessageMetaData | Array of MessageMetaData to be sent |
topicID | String | Topic ID to be sent |
#
MeetMessage structMeetMessage object allows several types of parameters that you can configure to customize meet messages as mentioned below.
Property | Type | Description |
---|---|---|
toId | String | jid of the end user/group |
title | String | Title of the meet message |
link | String | Link of the meet message |
scheduledDateTime | Int | Timestamp of the meet message |
replyMessageId | String | if it is a reply message for message A, then message A's messageId |
mentionedUsersIds | [String] | Array of userId to mention specific users while sending a group message |
metaData | MessageMetaData | Array of MessageMetaData to be sent |
topicID | String | Topic ID to be sent |
#
LocationMessageParams ClassLocationMessageParams object hold the parameters required to send the locations message.
Property | Type | Description |
---|---|---|
latitude | Double | Latitude of the location |
longitude | Double | Longitude of the location |
#
ContactMessageParams ClassContactMessageParams object hold the parameters required to send the contact message.
Property | Type | Description |
---|---|---|
name | String | Name of the contact |
numbers | [String] | Contact numbers of the contact |
#
FileMessageParams ClassMediaMessageParams object hold the parameters required to send the file message.
Property | Type | Description |
---|---|---|
fileUrl | URL | URL of the file object to be uploaded |
caption | String | Caption of the Image/Video file |
thumbImage | String | base64 string representation of the image or video's thumbnail |
fileSize | Double | Size of the uploaded media file in bytes |
duration | Double | Duration of the uploaded media file if its an audio or video |
fileKey | String | Key for the media file if its encrypted |
fileName | String | Name of the uploaded media file |
#
MetaData structMetadata information required to send the Register.
Property | Type | Description |
---|---|---|
key | String | Key of the metadata |
value | String | Value of the metadata |
#
MetaDataUserList structMetaDataUserList model class was used to get the usersList.
Property | Type | Description |
---|---|---|
key | String | Key of the metadata |
value | [String] | List of the metadata value |
#
MessageMetaData structMessageMetaData information required to send the message.
Property | Type | Description |
---|---|---|
key | String | Key of the metadata |
value | String | Value of the metadata |
#
MetaDataMessageList structMetaDataMessageList information required to get meta data based the message.
Property | Type | Description |
---|---|---|
key | String | Key of the metadata |
value | [String] | List of the metadata value |
#
EditMessage structEditMessage object allows several types of parameters that you can configure to edit sent text messages as mentioned below.
Property | Type | Description |
---|---|---|
messageId | String | Unique Id of a ChatMessage |
editedTextContent | String | Edit message content to be edit |
mentionedUsersIds | [String] | Hold the mentioned user's Ids |