Struct
ZIMAppConfig
ZIM application configuration, including AppID and AppSign.
Declared in ZIMDefines.h
Properties
appID
public unsigned int appID- Required: Required.
appSign
public std::string appSign- Required: Required.
ZIMAudioMessage
Audio message object.
Details
Identifies the basic parameters of a message.
- Caution: If the Type parameter of the base class is Audio during callback, you can force the base class message object to be of this type.
Declared in ZIMDefines.h
Properties
audioDuration
public unsigned long long audioDuration- Required: Required by the sender, if not filled, the audio message will fail to be sent When sending local audio messages.
fileLocalPath
public std::string fileLocalPath- Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.
fileDownloadUrl
public std::string fileDownloadUrlDetail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.
Required or not: If an external URL is sent, this parameter is mandatory on the sender end.
fileUID
public std::string fileUIDDetail description: The unique ID of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
fileName
public std::string fileNameDetail description: The filename of the media file.
Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.
fileSize
public unsigned long long fileSizeDetail description: The size of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
type
messageID
public long long messageIDThe unique ID that identifies this message.
- Use cases: Can be used to index other messages.
- Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.
timestamp
public unsigned long long timestampIdentifies the sending time of a message
- Use cases: Used to present the sending time of a message, and can be used for message sorting.
- Caution: This is a standard UNIX timestamp, in milliseconds.
senderUserID
public String senderUserIDDisplays the userID of the sender of this message.
conversationID
public String conversationIDConversation ID. Ids of the same conversation type are unique.
direction
public ZIMMessageDirection directionUsed to describe whether a message is sent or received.
sentStatus
conversationType
public ZIMConversationType conversationTypeThe type of conversation to which the message belongs.
conversationSeq
public unsigned long long conversationSeqIndicates the sequence number of the message in the conversation.
orderKey
public long long orderKeyThe larger the orderKey, the newer the message, and can be used for ordering messages.
localMessageID
public long long localMessageIDSDK locally generated MessageID, developers do not need to pay attention to.
isUserInserted
public bool isUserInsertedDetail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].
Default: false.
receiptStatus
public ZIMMessageReceiptStatus receiptStatusDescribe the receipt status of the message
Business scenario: used to determine the status of the current message in the receipt message
extendedData
public std::string extendedDatamessage extension field
- Use cases: You can add extended fields to the message and send it to the peer
- Required: no
- Caution: the length is 1k, you can contact technical support for configuration
- Available since: 2.6.0 or higher
localExtendedData
public String localExtendedDataThe expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.
isBroadcastMessage
public bool isBroadcastMessageWhether the message is pushed by all employees.
- Required: Internal assignment.
isMentionAll
public boolean isMentionAllWhether to mention everyone. It can be presented as "@Everyone".
- Use cases: For example, it can be used in groups or rooms.
- Required: No.
- Default value: false.
- Recommended value: Set to true if you need to mention everyone.
- Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDsWhether to mention everyone. It can be presented as "@User".
- Use cases: For example, it can be used in sending messages.
- Required: No.
- Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
messageSeq
public unsigned long long messageSeqIndicates the sequence number of the message in the conversation.
rootRepliedCount
public unsigned int rootRepliedCountThe number of reply messages corresponding to the root message of the reply message tree.
repliedInfo
public ZIMMessageRepliedInfo repliedInfoInformation about the source message referenced by the reply message.
editorUserID
public std::string editorUserIDThe latest editor's userID for this message.
editedTime
public unsigned long long editedTimeThe latest editing timestamp for this message.
isGroupTargetedMessage
public bool isGroupTargetedMessageIdentify if this message is group targeted message.
pinnedUserID
public std::string pinnedUserIDThe last user who pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
pinnedTime
public long long pinnedTimeThe last timestamp when pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
ZIMAudioMessageLiteInfo
Audio message lite info object.
Details
Identifies the basic parameters of a audio message.
Declared in ZIMDefines.h
Properties
audioDuration
public unsigned long long audioDuration- Required: Required by the sender, if not filled, the audio message will fail to be sent When sending local audio messages.
fileLocalPath
public std::string fileLocalPath- Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.
fileDownloadUrl
public std::string fileDownloadUrlDetail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.
Required or not: If an external URL is sent, this parameter is mandatory on the sender end.
fileName
public std::string fileNameDetail description: The filename of the media file.
Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.
fileSize
public unsigned long long fileSizeDetail description: The size of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
type
ZIMBarrageMessage
Barrage message class.
Details
The barrage message class does not appear in the session and does not store historical messages.
Declared in ZIMDefines.h
Properties
message
public std::string messageThe content of barrage message.
type
messageID
public long long messageIDThe unique ID that identifies this message.
- Use cases: Can be used to index other messages.
- Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.
timestamp
public unsigned long long timestampIdentifies the sending time of a message
- Use cases: Used to present the sending time of a message, and can be used for message sorting.
- Caution: This is a standard UNIX timestamp, in milliseconds.
senderUserID
public String senderUserIDDisplays the userID of the sender of this message.
conversationID
public String conversationIDConversation ID. Ids of the same conversation type are unique.
direction
public ZIMMessageDirection directionUsed to describe whether a message is sent or received.
sentStatus
conversationType
public ZIMConversationType conversationTypeThe type of conversation to which the message belongs.
conversationSeq
public unsigned long long conversationSeqIndicates the sequence number of the message in the conversation.
orderKey
public long long orderKeyThe larger the orderKey, the newer the message, and can be used for ordering messages.
localMessageID
public long long localMessageIDSDK locally generated MessageID, developers do not need to pay attention to.
isUserInserted
public bool isUserInsertedDetail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].
Default: false.
receiptStatus
public ZIMMessageReceiptStatus receiptStatusDescribe the receipt status of the message
Business scenario: used to determine the status of the current message in the receipt message
extendedData
public std::string extendedDatamessage extension field
- Use cases: You can add extended fields to the message and send it to the peer
- Required: no
- Caution: the length is 1k, you can contact technical support for configuration
- Available since: 2.6.0 or higher
localExtendedData
public String localExtendedDataThe expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.
isBroadcastMessage
public bool isBroadcastMessageWhether the message is pushed by all employees.
- Required: Internal assignment.
isMentionAll
public boolean isMentionAllWhether to mention everyone. It can be presented as "@Everyone".
- Use cases: For example, it can be used in groups or rooms.
- Required: No.
- Default value: false.
- Recommended value: Set to true if you need to mention everyone.
- Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDsWhether to mention everyone. It can be presented as "@User".
- Use cases: For example, it can be used in sending messages.
- Required: No.
- Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
messageSeq
public unsigned long long messageSeqIndicates the sequence number of the message in the conversation.
rootRepliedCount
public unsigned int rootRepliedCountThe number of reply messages corresponding to the root message of the reply message tree.
repliedInfo
public ZIMMessageRepliedInfo repliedInfoInformation about the source message referenced by the reply message.
editorUserID
public std::string editorUserIDThe latest editor's userID for this message.
editedTime
public unsigned long long editedTimeThe latest editing timestamp for this message.
isGroupTargetedMessage
public bool isGroupTargetedMessageIdentify if this message is group targeted message.
pinnedUserID
public std::string pinnedUserIDThe last user who pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
pinnedTime
public long long pinnedTimeThe last timestamp when pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
ZIMBlacklistQueryConfig
Query the blacklist configuration.
Details
Through this configuration, you can set the total number of queries and the pagination query.
Declared in ZIMDefines.h
Properties
count
public unsigned int countcount.
- Required: Required.
nextFlag
public unsigned int nextFlagnextFlag.
- Required: Not required, it is 0 by default for the first time, which means to start the query from the beginning.
ZIMCallAcceptConfig
Behavior property set by accepting a call invitation.
Details
Behavior property set by accepting a call invitation.
Declared in ZIMDefines.h
Properties
extendedData
public std::string extendedDataExtended field, through which the inviter can carry information to the invitee.
- Required: Required.
ZIMCallCancelConfig
Behavior property that cancels the call invitation setting.
Details
Behavior property that cancels the call invitation setting.
Declared in ZIMDefines.h
Properties
extendedData
public std::string extendedDataExtended field, through which the inviter can carry information to the invitee.
- Required: not required.
- Default value: "".
pushConfig
ZIMCallEndConfig
End the behavior attribute of the call invitation setting.
Details
End the behavior attribute of the call invitation setting.
Declared in ZIMDefines.h
Properties
extendedData
public std::string extendedDataExtended field, through which the inviter can carry information to the invitee.
- Required: not required.
pushConfig
ZIMCallInfo
Call invitation information.
Details
Call invitation information.
Declared in ZIMDefines.h
Properties
callID
public std::string callIDCall invite ID.
caller
public std::string callerCall invitation initiator ID.
mode
state
extendedData
public std::string extendedDataCreate a call invitation additional information.
createTime
public number createTimeCall invites to create a timestamp.
endTime
public number endTimeCall invitation end time.
callUserList
ZIMCallInvitationAcceptedInfo
Accept the call invitation message.
Details
Accept the call invitation message.
Declared in ZIMDefines.h
Properties
invitee
public std::string inviteeInvitee ID.
extendedData
public std::string extendedDataExtended field, through which the inviter can carry information to the invitee.
ZIMCallInvitationCancelledInfo
Cancel the call invitation message.
Details
Cancel the call invitation message.
Declared in ZIMDefines.h
Properties
inviter
public std::string inviterThe inviter ID of the call invitation.
extendedData
public std::string extendedDataExtended field, through which the inviter can carry information to the invitee.
ZIMCallInvitationCreatedInfo
Information to created the call invitation.
Details
Information to created the call invitation.
Declared in ZIMDefines.h
Properties
timeout
public int timeoutThe timeout setting of the call invitation, the unit is seconds.
extendedData
public std::string extendedDataExtended field, through which the inviter can carry information to the invitee.
mode
caller
public String callerThe creator of the call invitation is the same as the userID that calls callInvite.
createTime
public long long createTimeThe event stamp when the call invitation was created on the server, accurate to milliseconds.
callUserList
ZIMCallInvitationEndedInfo
End the call operation information.
Details
End the call operation information.
Declared in ZIM.h
Properties
caller
public const std::string & callerThe calling party of the current call.
operatedUserID
public const std::string & operatedUserIDEnd the call operator.
extendedData
public const std::string & extendedDataThe pass-through field that comes with invoking the end of the call.
mode
endTime
public long long endTimeTime stamp of the end of the call, in milliseconds. The format is UTC time stamp.
ZIMCallInvitationQueryConfig
Inquiry the setting attribute of the call invitation list
Details
Inquiry the setting attribute of the call invitation list
Declared in ZIMDefines.h
Properties
count
public unsigned int countThe query number is limited to up to 100.
- Required: required.
nextFlag
public long long nextFlagThe flag of the query list.No padding is required for the first query. After the query, callback will return a nextFlag, which can be filled in the next query to continue the query based on the last query.
- Required: not required.
ZIMCallInvitationReceivedInfo
Information to accept the call invitation.
Details
Information to accept the call invitation.
Declared in ZIMDefines.h
Properties
timeout
public int timeoutThe timeout setting of the call invitation, the unit is seconds.
inviter
public String inviterInviter ID.
extendedData
public std::string extendedDataExtended field, through which the inviter can carry information to the invitee.
mode
caller
public String callerThe creator of the call invitation is the same as the userID that calls callInvite.
createTime
public long long createTimeThe event stamp when the call invitation was created on the server, accurate to milliseconds.
callUserList
ZIMCallInvitationRejectedInfo
Reject the call invitation message.
Details
Reject the call invitation message.
Declared in ZIMDefines.h
Properties
invitee
public String inviteeInvitee ID.
extendedData
public String extendedDataExtended field, through which the inviter can carry information to the invitee.
ZIMCallInvitationSentInfo
Call invitation sent message.
Details
Call invitation sent message.
Declared in ZIMDefines.h
Properties
timeout
public int timeoutThe timeout setting of the call invitation, the unit is seconds.
errorInvitees
public std::vector<ZIMCallUserInfo> errorInviteesUser id that has not received a call invitation.
errorUserList
public Vector<ZIMErrorUserInfo> errorUserListUser id that has not received a call invitation list.
ZIMCallInvitationTimeoutInfo
Information class about timeout notifications.
Details
Information class about timeout notifications.
Declared in ZIMDefines.h
Properties
mode
ZIMCallInviteConfig
The behavior property of the Send Call Invitation setting.
Details
The behavior property of the Send Call Invitation setting.
Declared in ZIMDefines.h
Properties
timeout
public unsigned int timeoutThe timeout setting of the call invitation, the unit is seconds. The range is [1, 600].
- Required: not required.
Default: 90.
extendedData
public std::string extendedDataExtended field, through which the inviter can carry information to the invitee.
pushConfig
mode
public ZIMCallInvitationMode modeCall invitation mode configuration. Supported Version: 2.9.0 or later.
- Required: required. default:GENERAL
enableNotReceivedCheck
public bool enableNotReceivedCheckIf the pass value is true, the system checks whether the call invitation is delivered in this call and subsequent calls.
- Use cases: After the calling party sends a call invitation, if the called party does not receive the invitation within 5 seconds (3 or 4 seconds can be configured for technical support) because the user is disconnected or not online, the user status changes to notYetReceived. You can use this state flow to indicate to the user that the user may not be online. If the called party goes online before the call times out, the status changes to received received.
- Required: This is not required.
- Default value: false
- Recommended value: This property takes effect in version 2.15.0 and later, when the new version sends an invitation to a call with delivery detection turned on to the old version, which will continue to display the inviting status instead of notYetReceived.
ZIMCallJoinConfig
Add the behavior attribute of the call invitation setting.
Details
Add the behavior attribute of the call invitation setting.
Declared in ZIMDefines.h
Properties
extendedData
public std::string extendedDataExtended field, through which the inviter can carry information to the invitee.
ZIMCallJoinSentInfo
Result of join the call operation.
Details
Result of join the call operation.
Declared in ZIMDefines.h
Properties
createTime
public long long createTimeTimestamp of the time when the call invitation was created.
joinTime
public long long joinTimeTime stamp of the person join the call invitation.
extendedData
public const std::string& extendedDataThe pass-through field that comes with invoking the end of the call.
callUserList
public std::vector<ZIMCallUserInfo> callUserListList of user information in the current call invitation.
ZIMCallQuitConfig
Behavior property set by quit a call invitation.
Details
Behavior property set by quit a call invitation.
Declared in ZIMDefines.h
Properties
extendedData
public std::string extendedDataExtended field, through which the inviter can carry information to the invitee.
- Required: Required.
pushConfig
ZIMCallQuitSentInfo
Result of quit the call operation.
Details
Result of quit the call operation.
Declared in ZIMDefines.h
Properties
createTime
public long long createTimeTimestamp of the time when the call invitation was created.
acceptTime
public long long acceptTimeTime stamp of the person accepting the call invitation.
quitTime
public long long quitTimeThe time stamp for me to exit the call.
ZIMCallRejectConfig
This parameter is used to set the configuration item of call invitation rejection.
Details
This command is used to customize the call invitation when sending invitation rejection.
- Use cases: You need to pass the configuration item to the interface when invoking the call rejection invitation.
Declared in ZIMDefines.h
Properties
extendedData
public std::string extendedDataAdditional fields for attaching custom content when sending a reject invitation.
- Use cases: When the user needs to refuse to send some custom content to the inviter.
- Required: Required.
- Default value: "".
ZIMCallUserInfo
Call invitation user information.
Details
Call invitation user information.
Declared in ZIMDefines.h
Properties
userID
public std::string userIDUser ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.
state
extendedData
public std::string extendedDataCall the additional information in user information.
ZIMCallUserStateChangeInfo
Call member status change information.
Details
Call member status change information.
Declared in ZIM.h
Properties
callUserList
public const std::vector<ZIMCallUserInfo> & callUserListList of call members whose status changes.
ZIMCallingInvitationSentInfo
Information about callingInvite
Details
Information about callingInvite
Declared in ZIMDefines.h
Properties
errorUserList
ZIMCallingInviteConfig
Behavior property set by quit a call invitation.
Details
Behavior property set by quit a call invitation.
Declared in ZIMDefines.h
Properties
pushConfig
ZIMCombineMessage
Base class for combine message objects.
- Available since: 2.14.0 and above.
Declared in ZIMDefines.h
Properties
title
public std::string titleThe title of combine message
summary
public std::string summaryThe summary of combine message
combineID
public std::string combineIDCombine ID, internal user
messageList
type
messageID
public long long messageIDThe unique ID that identifies this message.
- Use cases: Can be used to index other messages.
- Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.
timestamp
public unsigned long long timestampIdentifies the sending time of a message
- Use cases: Used to present the sending time of a message, and can be used for message sorting.
- Caution: This is a standard UNIX timestamp, in milliseconds.
senderUserID
public String senderUserIDDisplays the userID of the sender of this message.
conversationID
public String conversationIDConversation ID. Ids of the same conversation type are unique.
direction
public ZIMMessageDirection directionUsed to describe whether a message is sent or received.
sentStatus
conversationType
public ZIMConversationType conversationTypeThe type of conversation to which the message belongs.
conversationSeq
public unsigned long long conversationSeqIndicates the sequence number of the message in the conversation.
orderKey
public long long orderKeyThe larger the orderKey, the newer the message, and can be used for ordering messages.
localMessageID
public long long localMessageIDSDK locally generated MessageID, developers do not need to pay attention to.
isUserInserted
public bool isUserInsertedDetail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].
Default: false.
receiptStatus
public ZIMMessageReceiptStatus receiptStatusDescribe the receipt status of the message
Business scenario: used to determine the status of the current message in the receipt message
extendedData
public std::string extendedDatamessage extension field
- Use cases: You can add extended fields to the message and send it to the peer
- Required: no
- Caution: the length is 1k, you can contact technical support for configuration
- Available since: 2.6.0 or higher
localExtendedData
public String localExtendedDataThe expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.
isBroadcastMessage
public bool isBroadcastMessageWhether the message is pushed by all employees.
- Required: Internal assignment.
isMentionAll
public boolean isMentionAllWhether to mention everyone. It can be presented as "@Everyone".
- Use cases: For example, it can be used in groups or rooms.
- Required: No.
- Default value: false.
- Recommended value: Set to true if you need to mention everyone.
- Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDsWhether to mention everyone. It can be presented as "@User".
- Use cases: For example, it can be used in sending messages.
- Required: No.
- Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
messageSeq
public unsigned long long messageSeqIndicates the sequence number of the message in the conversation.
rootRepliedCount
public unsigned int rootRepliedCountThe number of reply messages corresponding to the root message of the reply message tree.
repliedInfo
public ZIMMessageRepliedInfo repliedInfoInformation about the source message referenced by the reply message.
editorUserID
public std::string editorUserIDThe latest editor's userID for this message.
editedTime
public unsigned long long editedTimeThe latest editing timestamp for this message.
isGroupTargetedMessage
public bool isGroupTargetedMessageIdentify if this message is group targeted message.
pinnedUserID
public std::string pinnedUserIDThe last user who pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
pinnedTime
public long long pinnedTimeThe last timestamp when pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
ZIMCombineMessageLiteInfo
Base class for combine message lite info objects.
Details
Detail description: Identifies a combine message.
Declared in ZIMDefines.h
Properties
title
public std::string titleThe title of combine message
summary
public std::string summaryThe summary of combine message
type
ZIMConversationSearchConfig
Conversation search configuration.
Details
Conversation search configuration.
Declared in ZIMDefines.h
Properties
nextFlag
public unsigned int nextFlagPagination token, fill in 0 initially, and then fill in the nextFlag returned from the callback to retrieve data for the next page.
totalConversationCount
public unsigned int totalConversationCountThe number of messages that can be retrieved in one search. It is recommended to be less than 20 to reduce performance overhead.
- Required: Required.
conversationMessageCount
public unsigned int conversationMessageCountThe number of local messages that can be retrieved for a single conversation in one search. It is recommended to be less than 10 to reduce performance overhead.
keywords
public std::vector<std::string> keywordsSearch keywords, supports up to 5. Otherwise, an error will occur. For example, if you pass in "1" and "2", the search results will only display conversations that contain both "1" and "2" keywords in the messages.
messageTypes
public std::vector<ZIMMessageType> messageTypesMessage types, can be used to specify message types. Support passing in multiple types.
subMessageTypes
public std::vector<unsigned int> subMessageTypesThe subtypes of custom messages have a value range of [0,200]. Developers can use this range to search for specific custom types.
senderUserIDs
public std::vector<std::string> senderUserIDsSend user ID, supports up to 5. For example, if you pass in "zego2023", the search results will only display conversations where messages have been sent by the user "zego2023".
startTime
public long long startTimeThe starting point of the search, in milliseconds, with a default value of 0. The format is UTC timestamp.
endTime
public long long endTimeThe ending point of the search, which must be greater than the startTime, in milliseconds. The default value is 0 and the format is UTC timestamp.
ZIMConversationSearchInfo
Conversations search info.
Declared in ZIMDefines.h
Properties
conversationID
public const std::string & conversationIDThe conversation ID of the local message to be search.
conversationType
totalMessageCount
public unsigned int totalMessageCountTotal message count
messageList
ZIMConversationsAllDeletedInfo
Delete all session notification information.
Details
Delete all session notification information.
Declared in ZIMDefine.h
Properties
count
public unsigned int countNumber of sessions that were deleted.
ZIMErrorUserInfo
Error user information class.
Details
Used to show the failed user and the reason for the failure.
Declared in ZIMDefines.h
Properties
userID
public std::string userIDUser ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.
reason
public unsigned int reasonDescription Reason for the query failure.
ZIMFileCacheClearConfig
Clear cache configuration.
Details
Clear cache configuration.
Declared in ZIMDefines.h
Properties
endTime
public unsigned long long endTimeExpiration stamp of cache cleanup.
- Required: Not required.
ZIMFileCacheInfo
File cache information.
Details
Detailed description: File cache information.
Declared in ZIMDefines.h
Properties
totalFileSize
public unsigned long long totalFileSizeTotal file size in bytes (B).
ZIMFileCacheQueryConfig
Query cache configuration.
Details
Query cache configuration.
Declared in ZIMDefines.h
Properties
endTime
public unsigned long long endTimeExample Query the expiration timestamp of the cache.
- Required: Not required.
ZIMFileMessage
File message object.
Details
Identifies the basic parameters of a message.
- Caution: If the Type parameter of the base class is File during callback, you can force the base class message object to be of this type.
Declared in ZIMDefines.h
Properties
fileLocalPath
public std::string fileLocalPath- Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.
fileDownloadUrl
public std::string fileDownloadUrlDetail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.
Required or not: If an external URL is sent, this parameter is mandatory on the sender end.
fileUID
public std::string fileUIDDetail description: The unique ID of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
fileName
public std::string fileNameDetail description: The filename of the media file.
Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.
fileSize
public unsigned long long fileSizeDetail description: The size of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
type
messageID
public long long messageIDThe unique ID that identifies this message.
- Use cases: Can be used to index other messages.
- Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.
timestamp
public unsigned long long timestampIdentifies the sending time of a message
- Use cases: Used to present the sending time of a message, and can be used for message sorting.
- Caution: This is a standard UNIX timestamp, in milliseconds.
senderUserID
public String senderUserIDDisplays the userID of the sender of this message.
conversationID
public String conversationIDConversation ID. Ids of the same conversation type are unique.
direction
public ZIMMessageDirection directionUsed to describe whether a message is sent or received.
sentStatus
conversationType
public ZIMConversationType conversationTypeThe type of conversation to which the message belongs.
conversationSeq
public unsigned long long conversationSeqIndicates the sequence number of the message in the conversation.
orderKey
public long long orderKeyThe larger the orderKey, the newer the message, and can be used for ordering messages.
localMessageID
public long long localMessageIDSDK locally generated MessageID, developers do not need to pay attention to.
isUserInserted
public bool isUserInsertedDetail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].
Default: false.
receiptStatus
public ZIMMessageReceiptStatus receiptStatusDescribe the receipt status of the message
Business scenario: used to determine the status of the current message in the receipt message
extendedData
public std::string extendedDatamessage extension field
- Use cases: You can add extended fields to the message and send it to the peer
- Required: no
- Caution: the length is 1k, you can contact technical support for configuration
- Available since: 2.6.0 or higher
localExtendedData
public String localExtendedDataThe expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.
isBroadcastMessage
public bool isBroadcastMessageWhether the message is pushed by all employees.
- Required: Internal assignment.
isMentionAll
public boolean isMentionAllWhether to mention everyone. It can be presented as "@Everyone".
- Use cases: For example, it can be used in groups or rooms.
- Required: No.
- Default value: false.
- Recommended value: Set to true if you need to mention everyone.
- Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDsWhether to mention everyone. It can be presented as "@User".
- Use cases: For example, it can be used in sending messages.
- Required: No.
- Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
messageSeq
public unsigned long long messageSeqIndicates the sequence number of the message in the conversation.
rootRepliedCount
public unsigned int rootRepliedCountThe number of reply messages corresponding to the root message of the reply message tree.
repliedInfo
public ZIMMessageRepliedInfo repliedInfoInformation about the source message referenced by the reply message.
editorUserID
public std::string editorUserIDThe latest editor's userID for this message.
editedTime
public unsigned long long editedTimeThe latest editing timestamp for this message.
isGroupTargetedMessage
public bool isGroupTargetedMessageIdentify if this message is group targeted message.
pinnedUserID
public std::string pinnedUserIDThe last user who pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
pinnedTime
public long long pinnedTimeThe last timestamp when pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
ZIMFileMessageLiteInfo
File message lite info object.
Details
Identifies the basic parameters of a message.
Declared in ZIMDefines.h
Properties
fileLocalPath
public std::string fileLocalPath- Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.
fileDownloadUrl
public std::string fileDownloadUrlDetail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.
Required or not: If an external URL is sent, this parameter is mandatory on the sender end.
fileName
public std::string fileNameDetail description: The filename of the media file.
Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.
fileSize
public unsigned long long fileSizeDetail description: The size of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
type
ZIMFriendAddConfig
The behavior property of the Add Friend setting.
Details
The behavior property of the Add Friend setting.
Declared in ZIMDefines.h
Properties
wording
public std::string wordingAdd a friend postscript.
friendAlias
public std::string friendAliasAlias of friend.
friendAttributes
public std::unordered_map<std::string, std::string> friendAttributesFriend attributes. Up to 5 can be set. The key of the attribute can only be selected from k0 to k4.
ZIMFriendApplicationAcceptConfig
Behavior attributes for accepting friend requests.
Details
Behavior attributes for accepting friend requests.
Declared in ZIMDefines.h
Properties
friendAlias
public String friendAliasfriend alias.
friendAttributes
public std::unordered_map<std::string, std::string> friendAttributesfriend attributes.
pushConfig
ZIMFriendApplicationInfo
Friend application information.
Details
Detailed description: Friend application information.
Declared in ZIMDefines.h
Properties
applyUser
public ZIMUserInfo applyUserDetail description: If you are the applicant, here is the respondent information; if you are the respondent, here is the applicant information;
wording
public const std::string & wordingThe wording of friend application information.
createTime
public int createTimeFriend add time.
updateTime
public int updateTimeFriend application status update time.
type
state
ZIMFriendApplicationListQueryConfig
Query the configuration of the friend application list.
Details
Query the configuration of the friend application list.
Declared in ZIMDefines.h
Properties
count
public int countTotal number of current queries.
nextFlag
public int nextFlagThe index of the current query anchor point.
ZIMFriendApplicationRejectConfig
Behavior attributes for rejecting friend application.
Details
Behavior attributes for rejecting friend application.
Declared in ZIMDefines.h
Properties
pushConfig
ZIMFriendApplicationSendConfig
The behavior property of the Send Friend Application setting.
Details
The behavior property of the Send Friend Application setting.
Declared in ZIMDefines.h
Properties
wording
public std::string wordingAdd a friend postscript.
friendAlias
public std::string friendAliasAlias of friend.
friendAttributes
public std::unordered_map<std::string, std::string> friendAttributesFriend attributes. Up to 5 can be set. The key of the attribute can only be selected from k0 to k4.
pushConfig
ZIMFriendDeleteConfig
The behavior property of the Delete Friend setting.
Details
The behavior property of the Delete Friend setting.
Declared in ZIMDefines.h
Properties
type
ZIMFriendInfo
Friend information.
Details
Detailed description: Friend information.
Declared in ZIMDefines.h
Properties
userID
public const std::string & userIDDetail description: UserID of the operator.
friendAlias
public const std::string & friendAliasThe alias of friend.
friendAttributes
public std::unordered_map<std::string, std::string> friendAttributesFriend attributes. Up to 5 can be set. The key of the attribute can only be selected from k0 to k4.
createTime
public int createTimeFriend add time.
userName
public std::string userNameUser name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.
- Required: Not required.
- Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
userAvatarUrl
public String userAvatarUrlThe user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.
- Required: Not required.
- Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
- Available since: 2.13.0 and above.
userExtendedData
public std::string userExtendedDataExtended field information of the user.
- Caution: This property has a value only for room users.
ZIMFriendListQueryConfig
Query the configuration of the friend list.
Details
Query the configuration of the friend list.
Declared in ZIMDefines.h
Properties
count
public int countTotal number of current queries.
nextFlag
public int nextFlagThe index of the current query anchor point.
ZIMFriendRelationCheckConfig
Check the behavior properties of friend relationships.
Details
Check the behavior properties of friend relationships.
Declared in ZIMDefines.h
Properties
type
ZIMFriendRelationInfo
Friend relationship information.
Details
Detailed description: Friend relationship information.
Declared in ZIMDefines.h
Properties
userID
public std::string userIDuser ID.
type
ZIMFriendsSearchConfig
Search local friend configuration.
Details
Search local friend configuration.
Declared in ZIMDefines.h
Properties
keywords
public std::vector\<std::string> keywordsSearch keyword list.
isAlsoMatchFriendAlias
public boolean isAlsoMatchFriendAliasWhether to match friend aliases.
count
public int countCurrent total number of searches.
nextFlag
public int nextFlagThe starting and ending index of the current search.
ZIMGroup
complete group information for group list.
Details
complete group information for group list.
Declared in ZIMDefines.h
Properties
baseInfo
notificationStatus
public ZIMGroupMessageNotificationStatus notificationStatusgroup message notification status.
groupAlias
public std::string groupAliasthe group alias defined by user, which is visible only to that user.
ZIMGroupAdvancedConfig
Group advanced configuration.
Details
Group advanced configuration.
- Required: required.
Declared in ZIMDefines.h
Properties
groupAttributes
public std::unordered_map<std::string, std::string> groupAttributesGroup properties, up to 10 can be configured..
- Required: Optional.
groupNotice
public std::string groupNoticegroup notice.
- Required: Optional.
maxMemberCount
public unsigned int maxMemberCountThe maximum number of group members.
- Use cases: When you need to limit the number of group members.
- Required: Optional.
- Default value: 0.
- Value range: [0, The default maximum number of group members for the business package].
- Caution: Supports version 2.15 and above.
joinMode
public ZIMGroupJoinMode joinModeVerification mode for joining the group.
- Required: Optional.
- Caution: Supports version 2.15 and above.
inviteMode
public ZIMGroupInviteMode inviteModeVerification mode for invite to the group.
- Required: Optional.
- Caution: Supports version 2.15 and above.
beInviteMode
public ZIMGroupBeInviteMode beInviteModeVerification mode for being invited to the group.
- Required: Optional.
- Caution: Supports version 2.15 and above.
ZIMGroupApplicationInfo
Group application information.
Declared in ZIMDefines.h
Properties
applyUser
public ZIMUserInfo applyUserDetail description: The applicant is the applicant when applying to join, the invitee when applying to invite, and the inviter when applying by invitation.
wording
public std::string wordingThe wording of group application information.
createTime
public unsigned long long createTimeGroup application create time.
updateTime
public unsigned long long updateTimeGroup application status update time.
type
state
groupInfo
operatedUser
public ZIMGroupMemberSimpleInfo operatedUserThe operator who agrees to join the group application.
ZIMGroupApplicationListQueryConfig
Query the group application configuration.
Details
Through this configuration, you can set the total number of queries and the pagination query.
Declared in ZIMDefines.h
Properties
count
public unsigned int countcount. It is advised to be no more than 30.
- Required: Yes.
nextFlag
public unsigned int nextFlagnextFlag.
- Required: Not required, it is 0 by default for the first time, which means to start the query from the beginning.
ZIMGroupAttributesUpdateInfo
Group attribute update information.
Details
Group attribute update information.
Declared in ZIMDefines.h
Properties
action
groupAttributes
public std::unordered_map<std::string, std::string> groupAttributesgroup properties.
ZIMGroupConversation
Group session object, extend from ZIMGroupConversation.
Details
Group session object, extend from ZIMGroupConversation.
Declared in ZIMDefines.h
Properties
mutedExpiredTime
public long long mutedExpiredTimeThe expiration date of the group gag.
isDisabled
public bool isDisabledWhether the group session is unavailable.
conversationID
public std::string conversationIDconversationID.
conversationName
public String conversationNameconversationName is the same as the groupName/userName value corresponding to the session.
type
unreadMessageCount
public int unreadMessageCountSession unread.
lastMessage
orderKey
public long orderKeyOrderKey is used to describe the order of messages in the session. The larger orderKey is, the newer it is.
notificationStatus
public ZIMConversationNotificationStatus notificationStatussession notification status.
conversationAvatarUrl
public std::string conversationAvatarUrlDetail description: Conversation avatar URL. The peer to peer chat conversation avatar URL is the same as the user avatar URL, and the group chat conversation avatar URL is the same as the group avatar URL.
Use Limit: the maximum number of characters is 500 bytes. There is no limit on special characters.
isPinned
public bool isPinnedWhether the conversation is pinned.
mentionedInfoList
public std::vector<ZIMMessageMentionedInfo> mentionedInfoListWhen reminded in a message or reminded to everyone in a conversation, this array will record the reminders.
- Use cases: For example, you can display the number of reminders in the conversation list based on this array, and also display which user's reminder it is.
conversationAlias
public String conversationAliasAfter the friend remarks are set through [updateFriendAlias], this parameter is changed for each chat conversation. After setting a group alias by [updateGroupAlias], the corresponding group chat conversation's parameter will be modified synchronously.
- Use cases: After update alias for friends or groups, the corresponding conversation chooses to display the alias over the conversation name when rendering the conversation page.
marks
public std::vector\<int> marksDescribes all the existing marks for the conversation.
- Use cases: The business layer can group logic, etc., according to different conversations with different marks.
draft
public std::string draftConversation draft, when draft set conversation will carry this parameter.
ZIMGroupEnterInfo
Information about group members when they join the group.
Declared in ZIMDefines.h
Properties
enterType
enterTime
public unsigned long long enterTimeThe timestamp of the server when joining the group.
operatedUser
public ZIMGroupMemberSimpleInfo operatedUserThe operator who agrees to the application to join the group or the inviter who invites the application to join the group.
ZIMGroupFullInfo
complete group information.
Details
complete group information.
Declared in ZIMDefines.h
Properties
baseInfo
groupAttributes
public std::unordered_map<std::string, std::string> groupAttributesgroup properties.
groupNotice
public std::string groupNoticeGroup of announcement.
notificationStatus
public ZIMGroupMessageNotificationStatus notificationStatusgroup message notification status.
mutedInfo
createTime
public unsigned long long createTimeThe timestamp of the server when the group was created.
- Caution: Supports version 2.15 and above.
maxMemberCount
public unsigned int maxMemberCountThe maximum number of group members.
- Caution: Supports version 2.15 and above.
verifyInfo
public ZIMGroupVerifyInfo verifyInfoVerification mode for joining the group.
- Caution: Supports version 2.15 and above.
groupAlias
public std::string groupAliasthe group alias defined by user, which is visible only to that user.
ZIMGroupInfo
group information.
Details
group information.
Declared in ZIMDefines.h
Properties
groupID
public std::string groupIDgroupID.
Required or not: Mandatory, it will be automatically generated in the background.
Value: Supports only digits, English characters, and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~' and not by '#' at the beginning.
groupName
public std::string groupNameGroup name.
- Required: Optional.
Value: A string of up to 50 bytes.
groupAvatarUrl
public std::string groupAvatarUrl- Required: not required.
Use Limit: the maximum number of characters is 500 bytes. There is no limit on special characters.
ZIMGroupInviteApplicationAcceptConfig
The behavior property of the accept group invite application setting.
Declared in ZIMDefines.h
Properties
pushConfig
ZIMGroupInviteApplicationRejectConfig
The behavior property of the reject group invite application setting.
Declared in ZIMDefines.h
Properties
pushConfig
ZIMGroupInviteApplicationSendConfig
The behavior property of the send group invite application setting.
Declared in ZIMDefines.h
Properties
wording
public std::string wordingPostscript to the application operation.
pushConfig
ZIMGroupJoinApplicationAcceptConfig
The behavior property of the accept group join application setting.
Declared in ZIMDefines.h
Properties
pushConfig
ZIMGroupJoinApplicationRejectConfig
The behavior property of the reject group join application setting.
Declared in ZIMDefines.h
Properties
pushConfig
ZIMGroupJoinApplicationSendConfig
The behavior property of the send group join application setting.
Declared in ZIMDefines.h
Properties
wording
public std::string wordingPostscript to the application operation.
pushConfig
ZIMGroupMemberInfo
Group member information.
Details
Group member information.
Declared in ZIMDefines.h
Properties
memberNickname
public std::string memberNicknameGroup member nickname.
memberRole
public int memberRolegroup role.
memberAvatarUrl
public std::string memberAvatarUrlDetailed description: group member avatar URL.
User Limit: the maximum number of characters is 500 bytes. There is no limit on special characters.
muteExpiredTime
public unsigned long long muteExpiredTimeGroup member's mute expiration time. When it's 0, it means no mute; when it's -1, it means permanent mute.
groupEnterInfo
public ZIMGroupEnterInfo groupEnterInfoInformation about group members when they join the group.
- Caution: Supports version 2.15 and above.
userID
public std::string userIDUser ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.
userName
public std::string userNameUser name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.
- Required: Not required.
- Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
userAvatarUrl
public String userAvatarUrlThe user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.
- Required: Not required.
- Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
- Available since: 2.13.0 and above.
userExtendedData
public std::string userExtendedDataExtended field information of the user.
- Caution: This property has a value only for room users.
ZIMGroupMemberMuteConfig
Group members mute configuration.
Details
Group members mute configuration.
- Required: required.
Declared in ZIMDefines.h
Properties
duration
public int durationGroup members mute duration, the unit is seconds. The value is -1, which means permanent mute. If you need to implement non-permanent mute, the upper limit is 604800 (7 days). If you need to increase it, please contact ZEGO technical support.
- Required: Required.
ZIMGroupMemberMutedListQueryConfig
Group muted member list query configuration.
Details
Group muted member list query configuration.
Declared in ZIMDefines.h
Properties
count
public int countcount.
- Required: Required.
nextFlag
public unsigned long long nextFlagnextFlag.
- Required: Not required, it is empty by default for the first time, which means to start the query from the beginning.
ZIMGroupMemberQueryConfig
group member query configuration.
Details
group member query configuration.
Declared in ZIMDefines.h
Properties
count
public int countcount. Quantity, upper limit is 100, over 100 will be treated as 100.
- Required: Required.
nextFlag
public int nextFlagnextFlag.
- Required: Not required, it is empty by default for the first time, which means to start the query from the beginning.
ZIMGroupMemberSearchConfig
group member search configuration.
Details
group member search configuration.
Declared in ZIMDefines.h
Properties
count
public unsigned int countcount.
- Required: Required.
nextFlag
public unsigned int nextFlagThe flag for querying, fill in 0 when calling the interface for the first time. When calling the interface again later, fill in the nextFlag returned from the callback to retrieve the remaining data.
- Required: Not required.
keywords
public std::vector\<std::string> keywordsSearch keywords, up to 5 keywords are supported, otherwise an error will be reported. For example: passing in "1" and "2" will make the search results only show group members whose names contain both keywords "1" and "2".
- Required: No
- Caution: Up to 5 keywords can be entered, otherwise an error will be reported.
isAlsoMatchGroupMemberNickname
public bool isAlsoMatchGroupMemberNicknameWhether the search scope includes group member user nickname. Default is false.
- Required: No.
- Default value: false
ZIMGroupMemberSimpleInfo
Group member simple information.
Declared in ZIMDefines.h
Properties
memberNickname
public std::string memberNicknameGroup member nickname.
memberRole
public int memberRolegroup role.
userID
public std::string userIDUser ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.
userName
public std::string userNameUser name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.
- Required: Not required.
- Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
userAvatarUrl
public String userAvatarUrlThe user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.
- Required: Not required.
- Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
- Available since: 2.13.0 and above.
userExtendedData
public std::string userExtendedDataExtended field information of the user.
- Caution: This property has a value only for room users.
ZIMGroupMessageReceiptMemberQueryConfig
Details
Group message receipt read/unread member query configuration.
Declared in ZIMDefines.h
Properties
count
public int count- Required: Required.
nextFlag
public int nextFlagDetailed description: The next sign. Initially fill in 0, then get the next next flag from the [ZIMGroupMessageReceiptMemberListQueriedCallback] callback.
ZIMGroupMuteConfig
Group mute configuration.
Details
Group mute configuration.
- Required: required.
Declared in ZIMDefines.h
Properties
mode
duration
public int durationGroup mute duration, the unit is seconds. The value is -1, which means permanent mute. If you need to implement non-permanent mute, the upper limit is 604800 (7 days). If you need to increase it, please contact ZEGO technical support.
- Required: Required.
roles
public std::vector<int> rolesGroup role list.
- Required: This field is only meaningful when ZIMGroupMuteMode is set to Custom.
- Caution: When there is a 3 (ordinary user) in the list, other roles must also be present and cannot be 1, 2, or 4. If only muting ordinary users is needed, ZIMGroupMuteMode should be set to Normal.
ZIMGroupMuteInfo
Group mute information.
Details
Group mute information.
Declared in ZIMDefines.h
Properties
mode
expiredTime
public long long expiredTimeGroup mute expiration time, measured in seconds. When it's 0, there is no mute; when it's -1, it means permanent mute.
roles
public const std::vector\<int> & rolesDetail description: Role list muted in the group.
ZIMGroupOperatedInfo
The group causes the event to change the operator's information.
Details
The group causes the event to change the operator's information.
Declared in ZIMDefines.h
Properties
operatedUserInfo
public ZIMGroupMemberInfo operatedUserInfoGroup member information.
userID
public std::string userIDThe operator's user ID.
userName
public std::string userNameThe operator's username.
memberNickname
public std::string memberNicknameThe operator's group member nickname.
memberRole
public int memberRoleThe operator's group member role.
ZIMGroupSearchConfig
Group search configuration.
Details
Group search configuration.
Declared in ZIMDefines.h
Properties
count
public unsigned int countcount.
- Required: Required.
nextFlag
public unsigned int nextFlagThe flag used to search groups.
- Required: The flag should be 0 when you search groups for the first time. After that, the flag should be the same as the nextFlag from the search result Callback to get the next page data.
keywords
public std::vector\<std::string> keywordsSearch keywords. For example: passing in "1" and "2" will make the search results only show groups whose group names contain both keywords "1" and "2".
- Required: No
- Caution: Up to 5 keywords can be entered, otherwise an error will be reported.
isAlsoMatchGroupMemberNickname
public bool isAlsoMatchGroupMemberNicknameWhether the search scope includes group member user nicknames. Default is false.
- Required: No.
- Default value: false
isAlsoMatchGroupMemberUserName
public bool isAlsoMatchGroupMemberUserNameWhether the search scope includes group member user names. Default is false.
- Required: No.
- Default value: false
ZIMGroupSearchInfo
Group search info.
Details
Group search info.
Declared in ZIMDefines.h
Properties
groupInfo
userList
ZIMGroupVerifyInfo
Verification mode for joining the group.
Declared in ZIMDefines.h
Properties
joinMode
inviteMode
beInviteMode
public ZIMGroupBeInviteMode beInviteModeVerification mode for being invited to the group.
ZIMImageMessage
Image message object.
Details
Identifies the basic parameters of a message.
- Caution: If the Type parameter of the base class is Image during callback, you can force the base class message object to be of this type.
Declared in ZIMDefines.h
Properties
thumbnailLocalPath
public std::string thumbnailLocalPathDetailed description: The thumbnail local path of the image file.
Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.
thumbnailDownloadUrl
public std::string thumbnailDownloadUrlDetail description: Thumbnail external download URL of the image file. When developers upload thumbnails to their own servers, the SDK can pass through this field to other users.
Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.
largeImageLocalPath
public std::string largeImageLocalPathDetailed description: The large image local path of the image file.
Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.
largeImageDownloadUrl
public std::string largeImageDownloadUrlDetail description: large Image external download URL of the image file. When developers upload large Images to their own servers, the SDK can pass through this field to other users.
Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.
originalImageWidth
public unsigned int originalImageWidthOriginal image width.
- Use cases: When the user needs to draw the image UI, the parameter used to determine the width of the original image,the unit is pixel.
originalImageHeight
public unsigned int originalImageHeightOriginal image height.
- Use cases: When the user needs to draw the image UI, the parameter used to determine the height of the original image,the unit is pixel.
largeImageWidth
public unsigned int largeImageWidthLarge image width. When sending local images, the ZIM service will compress the shortest side of the original image to 720 pixels, with the other side being scaled proportionally. When the shortest side of the original image is less than 720 pixels, no compression is applied.
- Use cases: When the user needs to draw the image UI, the parameter used to determine the width of the large image, the unit is pixel.
largeImageHeight
public unsigned int largeImageHeightLarge image height. When sending local images, the ZIM service will compress the shortest side of the original image to 720 pixels, with the other side being scaled proportionally. When the shortest side of the original image is less than 720 pixels, no compression is applied.
- Use cases: When the user needs to draw the image UI, the parameter used to determine the height of the large image, the unit is pixel.
thumbnailWidth
public unsigned int thumbnailWidthThumbnail width. When sending local images, the ZIM service will compress the shortest side of the original image to 198 pixels, with proportional scaling applied to the other side. If the shortest side of the original image is smaller than 198 pixels, no compression will be performed.
- Use cases: When the user needs to draw the image UI, the parameter used to determine the width of the thumbnail, the unit is pixel.
thumbnailHeight
public unsigned int thumbnailHeightThumbnail height. When sending local images, the ZIM service will compress the shortest side of the original image to 198 pixels, with proportional scaling applied to the other side. If the shortest side of the original image is smaller than 198 pixels, no compression will be performed.
- Use cases: When the user needs to draw the image UI, the parameter used to determine the height of the thumbnail, the unit is pixel.
fileLocalPath
public std::string fileLocalPath- Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.
fileDownloadUrl
public std::string fileDownloadUrlDetail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.
Required or not: If an external URL is sent, this parameter is mandatory on the sender end.
fileUID
public std::string fileUIDDetail description: The unique ID of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
fileName
public std::string fileNameDetail description: The filename of the media file.
Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.
fileSize
public unsigned long long fileSizeDetail description: The size of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
type
messageID
public long long messageIDThe unique ID that identifies this message.
- Use cases: Can be used to index other messages.
- Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.
timestamp
public unsigned long long timestampIdentifies the sending time of a message
- Use cases: Used to present the sending time of a message, and can be used for message sorting.
- Caution: This is a standard UNIX timestamp, in milliseconds.
senderUserID
public String senderUserIDDisplays the userID of the sender of this message.
conversationID
public String conversationIDConversation ID. Ids of the same conversation type are unique.
direction
public ZIMMessageDirection directionUsed to describe whether a message is sent or received.
sentStatus
conversationType
public ZIMConversationType conversationTypeThe type of conversation to which the message belongs.
conversationSeq
public unsigned long long conversationSeqIndicates the sequence number of the message in the conversation.
orderKey
public long long orderKeyThe larger the orderKey, the newer the message, and can be used for ordering messages.
localMessageID
public long long localMessageIDSDK locally generated MessageID, developers do not need to pay attention to.
isUserInserted
public bool isUserInsertedDetail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].
Default: false.
receiptStatus
public ZIMMessageReceiptStatus receiptStatusDescribe the receipt status of the message
Business scenario: used to determine the status of the current message in the receipt message
extendedData
public std::string extendedDatamessage extension field
- Use cases: You can add extended fields to the message and send it to the peer
- Required: no
- Caution: the length is 1k, you can contact technical support for configuration
- Available since: 2.6.0 or higher
localExtendedData
public String localExtendedDataThe expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.
isBroadcastMessage
public bool isBroadcastMessageWhether the message is pushed by all employees.
- Required: Internal assignment.
isMentionAll
public boolean isMentionAllWhether to mention everyone. It can be presented as "@Everyone".
- Use cases: For example, it can be used in groups or rooms.
- Required: No.
- Default value: false.
- Recommended value: Set to true if you need to mention everyone.
- Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDsWhether to mention everyone. It can be presented as "@User".
- Use cases: For example, it can be used in sending messages.
- Required: No.
- Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
messageSeq
public unsigned long long messageSeqIndicates the sequence number of the message in the conversation.
rootRepliedCount
public unsigned int rootRepliedCountThe number of reply messages corresponding to the root message of the reply message tree.
repliedInfo
public ZIMMessageRepliedInfo repliedInfoInformation about the source message referenced by the reply message.
editorUserID
public std::string editorUserIDThe latest editor's userID for this message.
editedTime
public unsigned long long editedTimeThe latest editing timestamp for this message.
isGroupTargetedMessage
public bool isGroupTargetedMessageIdentify if this message is group targeted message.
pinnedUserID
public std::string pinnedUserIDThe last user who pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
pinnedTime
public long long pinnedTimeThe last timestamp when pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
ZIMImageMessageLiteInfo
Image message lite info object.
Details
Identifies the basic parameters of a image message.
Declared in ZIMDefines.h
Properties
thumbnailLocalPath
public std::string thumbnailLocalPathDetailed description: The thumbnail local path of the image file.
Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.
thumbnailDownloadUrl
public std::string thumbnailDownloadUrlDetail description: Thumbnail external download URL of the image file. When developers upload thumbnails to their own servers, the SDK can pass through this field to other users.
Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.
largeImageLocalPath
public std::string largeImageLocalPathDetailed description: The large image local path of the image file.
Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.
largeImageDownloadUrl
public std::string largeImageDownloadUrlDetail description: large Image external download URL of the image file. When developers upload large Images to their own servers, the SDK can pass through this field to other users.
Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.
originalImageWidth
public unsigned int originalImageWidthOriginal image width.
- Use cases: When the user needs to draw the image UI, the parameter used to determine the width of the original image,the unit is pixel.
originalImageHeight
public unsigned int originalImageHeightOriginal image height.
- Use cases: When the user needs to draw the image UI, the parameter used to determine the height of the original image,the unit is pixel.
largeImageWidth
public unsigned int largeImageWidthLarge image width. When sending local images, the ZIM service will compress the shortest side of the original image to 720 pixels, with the other side being scaled proportionally. When the shortest side of the original image is less than 720 pixels, no compression is applied.
- Use cases: When the user needs to draw the image UI, the parameter used to determine the width of the large image, the unit is pixel.
largeImageHeight
public unsigned int largeImageHeightLarge image height. When sending local images, the ZIM service will compress the shortest side of the original image to 720 pixels, with the other side being scaled proportionally. When the shortest side of the original image is less than 720 pixels, no compression is applied.
- Use cases: When the user needs to draw the image UI, the parameter used to determine the height of the large image, the unit is pixel.
thumbnailWidth
public unsigned int thumbnailWidthThumbnail width. When sending local images, the ZIM service will compress the shortest side of the original image to 198 pixels, with proportional scaling applied to the other side. If the shortest side of the original image is smaller than 198 pixels, no compression will be performed.
- Use cases: When the user needs to draw the image UI, the parameter used to determine the width of the thumbnail, the unit is pixel.
thumbnailHeight
public unsigned int thumbnailHeightThumbnail height. When sending local images, the ZIM service will compress the shortest side of the original image to 198 pixels, with proportional scaling applied to the other side. If the shortest side of the original image is smaller than 198 pixels, no compression will be performed.
- Use cases: When the user needs to draw the image UI, the parameter used to determine the height of the thumbnail, the unit is pixel.
fileLocalPath
public std::string fileLocalPath- Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.
fileDownloadUrl
public std::string fileDownloadUrlDetail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.
Required or not: If an external URL is sent, this parameter is mandatory on the sender end.
fileName
public std::string fileNameDetail description: The filename of the media file.
Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.
fileSize
public unsigned long long fileSizeDetail description: The size of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
type
ZIMLoginConfig
Configuration of login-related parameters.
Details
Login-related parameters.
- Use cases: Used to set different parameters during login.
Declared in ZIMDefines.h
Properties
userName
public String userNameUser name.
- Use cases: Used in the scenario where user nickname is modified during login, leave it blank if no change is needed.
- Required: No.
token
public String tokenToken carried during login.
- Use cases: Only pass this parameter in the scenario where token is used for authentication.
- Required: No.
isOfflineLogin
public bool isOfflineLoginWhether it is offline login.
- Use cases: Set this parameter to true when performing offline login.
- Required: No.
- Default value: false.
customStatus
public String customStatusUser-defined status, with a default maximum of 64 bytes and a default expiration time of 1 day. After expiration, it will be reset to an empty string. When logging in, if this field is an empty string (default is an empty string), the current user's custom status will not be modified.
ZIMMediaDownloadConfig
Configuration for downloading media files.
Declared in ZIMDefines.h
Properties
messageInfoIndex
public int messageInfoIndexDetailed description: The index of the array where a file in the download multiple message is located.
- Required: Required when downloading a multiple message file.
ZIMMediaMessage
Base class for media message objects.
Details
Detail description: Identifies a media message.
This base class is the basis of all media messages and contains the properties required by media messages.
Declared in ZIMDefines.h
Properties
fileLocalPath
public std::string fileLocalPath- Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.
fileDownloadUrl
public std::string fileDownloadUrlDetail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.
Required or not: If an external URL is sent, this parameter is mandatory on the sender end.
fileUID
public std::string fileUIDDetail description: The unique ID of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
fileName
public std::string fileNameDetail description: The filename of the media file.
Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.
fileSize
public unsigned long long fileSizeDetail description: The size of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
type
messageID
public long long messageIDThe unique ID that identifies this message.
- Use cases: Can be used to index other messages.
- Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.
timestamp
public unsigned long long timestampIdentifies the sending time of a message
- Use cases: Used to present the sending time of a message, and can be used for message sorting.
- Caution: This is a standard UNIX timestamp, in milliseconds.
senderUserID
public String senderUserIDDisplays the userID of the sender of this message.
conversationID
public String conversationIDConversation ID. Ids of the same conversation type are unique.
direction
public ZIMMessageDirection directionUsed to describe whether a message is sent or received.
sentStatus
conversationType
public ZIMConversationType conversationTypeThe type of conversation to which the message belongs.
conversationSeq
public unsigned long long conversationSeqIndicates the sequence number of the message in the conversation.
orderKey
public long long orderKeyThe larger the orderKey, the newer the message, and can be used for ordering messages.
localMessageID
public long long localMessageIDSDK locally generated MessageID, developers do not need to pay attention to.
isUserInserted
public bool isUserInsertedDetail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].
Default: false.
receiptStatus
public ZIMMessageReceiptStatus receiptStatusDescribe the receipt status of the message
Business scenario: used to determine the status of the current message in the receipt message
extendedData
public std::string extendedDatamessage extension field
- Use cases: You can add extended fields to the message and send it to the peer
- Required: no
- Caution: the length is 1k, you can contact technical support for configuration
- Available since: 2.6.0 or higher
localExtendedData
public String localExtendedDataThe expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.
isBroadcastMessage
public bool isBroadcastMessageWhether the message is pushed by all employees.
- Required: Internal assignment.
isMentionAll
public boolean isMentionAllWhether to mention everyone. It can be presented as "@Everyone".
- Use cases: For example, it can be used in groups or rooms.
- Required: No.
- Default value: false.
- Recommended value: Set to true if you need to mention everyone.
- Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDsWhether to mention everyone. It can be presented as "@User".
- Use cases: For example, it can be used in sending messages.
- Required: No.
- Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
messageSeq
public unsigned long long messageSeqIndicates the sequence number of the message in the conversation.
rootRepliedCount
public unsigned int rootRepliedCountThe number of reply messages corresponding to the root message of the reply message tree.
repliedInfo
public ZIMMessageRepliedInfo repliedInfoInformation about the source message referenced by the reply message.
editorUserID
public std::string editorUserIDThe latest editor's userID for this message.
editedTime
public unsigned long long editedTimeThe latest editing timestamp for this message.
isGroupTargetedMessage
public bool isGroupTargetedMessageIdentify if this message is group targeted message.
pinnedUserID
public std::string pinnedUserIDThe last user who pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
pinnedTime
public long long pinnedTimeThe last timestamp when pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
ZIMMediaMessageLiteInfo
Base class for media message lite info objects.
Details
Detail description: Identifies a media message lite info.
This base class is the basis of all media messages lite info and contains the properties required by media messages lite info.
Declared in ZIMDefines.h
Properties
fileLocalPath
public std::string fileLocalPath- Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.
fileDownloadUrl
public std::string fileDownloadUrlDetail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.
Required or not: If an external URL is sent, this parameter is mandatory on the sender end.
fileName
public std::string fileNameDetail description: The filename of the media file.
Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.
fileSize
public unsigned long long fileSizeDetail description: The size of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
type
ZIMMessageDeleteConfig
Details
Delete configurations related to messages.
Declared in ZIMDefines.h
Properties
isAlsoDeleteServerMessage
public bool isAlsoDeleteServerMessageWhether to remove flags for server messages.
- Required: not required.
- Default value: false.
ZIMMessageDeletedInfo
Deleted message information.
Declared in ZIMDefines.h
Properties
conversationID
public std::string conversationIDConversation ID.
conversationType
messageList
isDeleteConversationAllMessage
public bool isDeleteConversationAllMessageWhether to delete all current messages in the conversation.
messageDeleteType
public ZIMMessageDeleteType messageDeleteType[onMessageDeleted] Indicates the cause of being triggered.
ZIMMessageEditConfig
Details
(Empty Class) Configurations related to editing messages.
Declared in ZIMDefines.h
ZIMMessageExportConfig
Details
Export the configuration of the message. The Config is currently a reserved parameter.
Declared in ZIMDefines.h
ZIMMessageImportConfig
Details
Import the configuration of the message. The Config is currently a reserved parameter.
Declared in ZIMDefines.h
ZIMMessageMentionedInfo
message mention information.
Details
message mention information.
Declared in ZIMDefines.h
Properties
messageID
public long long messageIDMessage ID, used to match the notification information to which message it belongs to
Required or not: Developers do not need to fill in.'‘’
fromUserID
public std::string fromUserIDFrom which user.
- Required: Developers do not need to fill in."
type
public ZIMMessageMentionedType typeType of notification, used to distinguish between reminding oneself and reminding everyone.
- Required: Developers do not need to fill in.
messageSeq
public unsigned long long messageSeqmessage seq.
ZIMMessagePinStatusChangeInfo
Notification of the message pinned status changed.
Details
When a message in a conversation is successfully pinned or unpinned and a notification is raised, this structure can be used to obtain the operated message and its current pinned status.
Declared in ZIMDefines.h
Properties
pinStatus
message
ZIMMessageQueryConfig
Example Query message configuration.
Details
Example Query the configurations of messages.
Declared in ZIMDefines.h
Properties
nextMessage
public ZIMMessage nextMessageQuery the anchor point of the message.
- Required: This parameter is not required for the first query but is required for subsequent paging queries.
count
public unsigned int countNumber of query messages.
- Required: Yes.
reverse
public Boolean reverseIndicates whether the query is in reverse order.
- Required: not required.
- Default value: false.
ZIMMessageReactionUserInfo
reaction user information.
Details
Detail description: A class describing reaction user.
Declared in ZIMDefines.h
Properties
userID
public std::string userIDuser ID
ZIMMessageReceiptInfo
receipt information.
Details
Detailed description: receipt information.
Declared in ZIMDefines.h
Properties
status
messageID
public long long messageIDMessage ID.
Business scenario: Developers can match the loaded message list according to this ID.
Is it required: No, SDK fills in.
conversationID
public std::string conversationIDSession ID.
Business scenario: Receipt information used to indicate which session this belongs to.
Is it required: No, SDK fills in.
conversationType
public ZIMConversationType conversationTypeSession type.
Business scenario: Indicates the type of the session.
Is it required: If no, the SDK is filled.
readMemberCount
public unsigned int readMemberCountDetailed description: Indicates the number of people who have read the receipt.
Business scenario: When used to query receipt information, it can display how many people have read the message.
Is it required: no.
Default: 0.
This value indicates how many people have read the message, it is only applicable to the message has been read; if the message is not sent by yourself, the value is 0.
unreadMemberCount
public unsigned int unreadMemberCountDetailed description: Indicates the number of unread people of the receipt.
Business scenario: When used to query receipt information, it can display how many people have unread the message.
Is it required: no.
Default: 0.
This value indicates how many people have not read the message, and it is only applicable to the message that has been read; if the message is not sent by yourself, the value is 0.
isSelfOperated
public bool isSelfOperatedIn a multi-device login scenario, after device A sets the message receipt as read, other online multi-devices use it to distinguish whether the message receipt set by itself has been read.
readTime
public unsigned long long readTimeServer-side timestamp when the message receipt was read.
- Default value: 0.
- Caution: For the sender, this value is the timestamp when all session members read the message. For the recipient, this value is the timestamp when the message receipt was set.
ZIMMessageReceivedInfo
A structure in which the message receiving event carries relevant information.
Details
A structure in which the message receiving event carries relevant information.
- Available since: Version 2.18.0 or later.
Declared in ZIMDefines.h
Properties
isOfflineMessage
public boolean isOfflineMessageWhether the message is sent when the current user is offline, temporarily disconnected, or logged out,If yes is true.
ZIMMessageRepliedInfo
The reply message refers to the information of the source message.
Declared in ZIMDefines.h
Properties
state
sentTime
public unsigned long long sentTimeThe send timestamp of the source message (in UTC).
senderUserID
public std::string senderUserIDThe sender user ID of the source message.
messageSeq
public unsigned long long messageSeqThe seq of the source message.
messageInfo
messageID
public unsigned long long messageIDThe ID of the source message.
ZIMMessageRevokeConfig
Details
Revoke configurations related to messages.
Declared in ZIMDefines.h
Properties
revokeExtendedData
public std::string revokeExtendedDatarevoking additional messages.
- Required: Not required.
pushConfig
public ZIMPushConfig pushConfigConfigures the offline push function, If Android or iOS platform is integrated, it is strongly recommended to configure this.
- Required: Not required.
ZIMMessageRootRepliedCountInfo
Information about the number of replies in the reply message tree.
Declared in ZIMDefines.h
Properties
conversationID
public std::string conversationIDConversation ID.
conversationType
messageID
public unsigned long long messageIDroot message id.
count
public unsigned int countThe number of replies for the reply message tree.
ZIMMessageRootRepliedInfo
Reply to the root message of the message tree.
Declared in ZIMDefines.h
Properties
state
sentTime
public unsigned long long sentTimeThe send timestamp of the root message.
senderUserID
public std::string senderUserIDThe sender user ID of the root message.
repliedCount
public unsigned int repliedCountThe number of replies for the reply message tree.
message
ZIMMessageSearchConfig
Message search configuration.
Details
Message search configuration.
Declared in ZIMDefines.h
Properties
nextMessage
public std::shared_ptr<ZIMMessage> nextMessagePaging fetch flag, which means fetching messages before or after nextMessage, with "before" or "after" determined by the order value. On the first search, nextMessage is null. On subsequent searches, nextMessage needs to pass in the last message in the message list queried last time.
count
public unsigned int countcount It is recommended to keep the number of items less than 20 to reduce performance overhead.
- Required: Required.
order
public ZIMMessageOrder orderWhen the "order" is "DESCENDING" during message search, it means querying messages with sending time earlier than nextMessage. If it's the first message query (i.e. nextMessage is null), then query from the last message stored locally forward. When "order" is "ASCENDING", it means querying messages with sending time later than nextMessage. If it's the first message query (i.e. nextMessage is null), then query from the first message stored locally backward. The default is "DESCENDING".
keywords
public std::vector\<std::string> keywordsSearch keywords, up to 5 keywords are supported, otherwise an error will be reported. For example: passing in "1" and "2" will make the search results only show messages that contain both keywords "1" and "2".
messageTypes
public std::vector<ZIMMessageType> messageTypesMessage types, can be used to specify message types. Support passing in multiple types.
subMessageTypes
public std::vector\<unsigned int> subMessageTypesThe subtypes of custom messages have a value range of [0,200]. Developers can use this range to search for specific custom types.
senderUserIDs
public std::vector\<std::string> senderUserIDsThe user ID of the message sender, supporting up to 5 IDs. For example, if "zego2023" is passed in, the search results will only display all the messages sent by the user "zego2023" in that conversation.
startTime
public long long startTimeThe starting point of the search, in milliseconds, with a default value of 0. The format is UTC timestamp.
endTime
public long long endTimeThe ending point of the search, which must be greater than the startTime, in milliseconds. The default value is 0 and the format is UTC timestamp.
ZIMMessageSendConfig
Details
Configurations related to sending messages.
Declared in ZIMDefines.h
Properties
pushConfig
public ZIMPushConfig pushConfigConfigures the offline push function, If Android or iOS platform is integrated, it is strongly recommended to configure this.
- Required: Not mandatory.
priority
hasReceipt
public bool hasReceipt- Required: not required.
- Default value: false.
isNotifyMentionedUsers
public bool isNotifyMentionedUsers- Required: not required.
- Default value: true.
isRetrySend
public bool isRetrySendWhether to resend the failed message.
- Required: No.
disableUnreadMessageCount
public bool disableUnreadMessageCount- Required: No.
- Default value: false.
ZIMMessageSentStatusChangeInfo
Notice of Room Message Status Change.
Details
Notice of Room Message Status Change.
Declared in ZIMDefines.h
Properties
message
status
reason
public std::string reasonThis field stores the reason why a message was rejected by ZEGOCLOUD In-app Chat due to interception by the server-side callback on message not sent yer. If you have enabled the ZEGOCLOUD In-app Chat content moderation service and require this field to capture failure reasons caused by failed content moderation, contact ZEGOCLOUD Technical Support for configuration.
ZIMMultipleMessage
Multiple message object.
Details
Detailed description: Identifies a multiple message.
Only supports the multiple of text, image, file, audio, video, and custom messages, and the number of array does not exceed 20.
Declared in ZIMDefines.h
Properties
messageInfoList
public std::vector<ZIMMessageLiteInfo> messageInfoListIt can contain text, image, file, audio, video, and custom messages. The array length does not exceed 20.
- Use cases: It can be used to send text and image multiple messages.
- Recommended value: The total number of items does not exceed 20, the maximum number of image is 10, and the maximum number of file, audio, video and custom message is 1 each. The size and format restrictions of image, file, audio, and video are the same as those of the corresponding rich media messages.
type
messageID
public long long messageIDThe unique ID that identifies this message.
- Use cases: Can be used to index other messages.
- Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.
timestamp
public unsigned long long timestampIdentifies the sending time of a message
- Use cases: Used to present the sending time of a message, and can be used for message sorting.
- Caution: This is a standard UNIX timestamp, in milliseconds.
senderUserID
public String senderUserIDDisplays the userID of the sender of this message.
conversationID
public String conversationIDConversation ID. Ids of the same conversation type are unique.
direction
public ZIMMessageDirection directionUsed to describe whether a message is sent or received.
sentStatus
conversationType
public ZIMConversationType conversationTypeThe type of conversation to which the message belongs.
conversationSeq
public unsigned long long conversationSeqIndicates the sequence number of the message in the conversation.
orderKey
public long long orderKeyThe larger the orderKey, the newer the message, and can be used for ordering messages.
localMessageID
public long long localMessageIDSDK locally generated MessageID, developers do not need to pay attention to.
isUserInserted
public bool isUserInsertedDetail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].
Default: false.
receiptStatus
public ZIMMessageReceiptStatus receiptStatusDescribe the receipt status of the message
Business scenario: used to determine the status of the current message in the receipt message
extendedData
public std::string extendedDatamessage extension field
- Use cases: You can add extended fields to the message and send it to the peer
- Required: no
- Caution: the length is 1k, you can contact technical support for configuration
- Available since: 2.6.0 or higher
localExtendedData
public String localExtendedDataThe expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.
isBroadcastMessage
public bool isBroadcastMessageWhether the message is pushed by all employees.
- Required: Internal assignment.
isMentionAll
public boolean isMentionAllWhether to mention everyone. It can be presented as "@Everyone".
- Use cases: For example, it can be used in groups or rooms.
- Required: No.
- Default value: false.
- Recommended value: Set to true if you need to mention everyone.
- Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDsWhether to mention everyone. It can be presented as "@User".
- Use cases: For example, it can be used in sending messages.
- Required: No.
- Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
messageSeq
public unsigned long long messageSeqIndicates the sequence number of the message in the conversation.
rootRepliedCount
public unsigned int rootRepliedCountThe number of reply messages corresponding to the root message of the reply message tree.
repliedInfo
public ZIMMessageRepliedInfo repliedInfoInformation about the source message referenced by the reply message.
editorUserID
public std::string editorUserIDThe latest editor's userID for this message.
editedTime
public unsigned long long editedTimeThe latest editing timestamp for this message.
isGroupTargetedMessage
public bool isGroupTargetedMessageIdentify if this message is group targeted message.
pinnedUserID
public std::string pinnedUserIDThe last user who pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
pinnedTime
public long long pinnedTimeThe last timestamp when pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
ZIMMultipleMessageLiteInfo
Multiple message lite info object.
Details
Identifies the basic parameters of a multiple message.
Declared in ZIMDefines.h
Properties
messageInfoList
public std::vector<ZIMMessageLiteInfo> messageInfoListDetail description: A list of elements that compose the message.
type
ZIMOfflinePushPrivateMessageTemplate
Offline push private message template.
Details
According to [OPUSH DMS template check ability to access instructions] (https://open.oppomobile.com/documentation/page/info?id=12391), OPPO in new message classification on the basis of the new push DMS templates, After you have configured the private message template in the OPPO console, if you need to apply the corresponding template during push notifications, you can assign a value to the privateMessageTemplate in ZIMPushConfig.
Declared in ZIM.h
Properties
templateID
public std::string templateIDThe ID of the private message template pushed by OPPO must be carried when sending the corresponding private message template. If the category of OPPO in the resourceID is set to be classified as Content and Marketing, this field is invalid. Details please see [OPUSH DMS template check ability to access instructions] (https://open.oppomobile.com/documentation/page/info?id=12391
titleParameters
public std::string titleParametersjson string, OPPO push title template filling parameters. For example, the private message template ID title template is: Welcome to , Welcome you. The content of this parameter is :" {"city":" Beijing}".
contentParameters
public std::string contentParametersjson string, OPPO push content template filling parameter. Example: The content template corresponding to the private message template ID is: Welcome to . The content of this parameter is :" {"userName":" Tom ", "city":" Shenzhen City "}.
ZIMPushConfig
Description
push configuration.Details
Details: Configuration before sending offline push.
Declared in ZIMDefines.h
Properties
title
public std::string titleUsed to set the push title.
- Required: Not required.
content
public std::string contentUsed to set offline push content.
- Required: Not required.
payload
public std::string payloadThis parameter is used to set the pass-through field of offline push.
- Required: Not required.
resourcesID
public std::string resourcesIDA string defined by you, no more than 32 characters in length, used to map advanced configurations for offline push from multiple manufacturers, abstracting the push configurations of various manufacturers into a single push strategy that you define yourself. For detailed introduction and configuration steps, please refer to ResourcesID introduction.
- Required: Not required.
enableBadge
public bool enableBadgePush whether to carry corner information switch.
badgeIncrement
public int badgeIncrementThe incremental index number carried by the push.
voIPConfig
public ZIMVoIPConfig voIPConfigIf you use Flutter, RN ZPNs, offline push receiving device has iOS and uses VoIP push type, you can customize some VoIP options with this parameter.
privateMessageTemplate
public ZIMOfflinePushPrivateMessageTemplate privateMessageTemplateIf you use OPPO push notifications, you can apply the OPPO Private message template through this structure; otherwise, you can ignore it and it will be left blank by default.
ZIMRevokeMessage
Base class for revoke message objects.
Details
Detail description: Identifies a revoke message.
This base class is the basis of all revoke messages and contains the properties required by revoke messages.
Declared in ZIMDefines.h
Properties
revokeType
revokeStatus
revokeTimestamp
public int revokeTimestampDetail description: revoke timestamp.
operatedUserID
public std::string operatedUserIDDetail description: operated user ID.
revokeExtendedData
public std::string revokeExtendedDataDetail description: revoke extended data.
originalMessageType
originalTextMessageContent
public std::string originalTextMessageContentoriginal text message content
type
messageID
public long long messageIDThe unique ID that identifies this message.
- Use cases: Can be used to index other messages.
- Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.
timestamp
public unsigned long long timestampIdentifies the sending time of a message
- Use cases: Used to present the sending time of a message, and can be used for message sorting.
- Caution: This is a standard UNIX timestamp, in milliseconds.
senderUserID
public String senderUserIDDisplays the userID of the sender of this message.
conversationID
public String conversationIDConversation ID. Ids of the same conversation type are unique.
direction
public ZIMMessageDirection directionUsed to describe whether a message is sent or received.
sentStatus
conversationType
public ZIMConversationType conversationTypeThe type of conversation to which the message belongs.
conversationSeq
public unsigned long long conversationSeqIndicates the sequence number of the message in the conversation.
orderKey
public long long orderKeyThe larger the orderKey, the newer the message, and can be used for ordering messages.
localMessageID
public long long localMessageIDSDK locally generated MessageID, developers do not need to pay attention to.
isUserInserted
public bool isUserInsertedDetail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].
Default: false.
receiptStatus
public ZIMMessageReceiptStatus receiptStatusDescribe the receipt status of the message
Business scenario: used to determine the status of the current message in the receipt message
extendedData
public std::string extendedDatamessage extension field
- Use cases: You can add extended fields to the message and send it to the peer
- Required: no
- Caution: the length is 1k, you can contact technical support for configuration
- Available since: 2.6.0 or higher
localExtendedData
public String localExtendedDataThe expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.
isBroadcastMessage
public bool isBroadcastMessageWhether the message is pushed by all employees.
- Required: Internal assignment.
isMentionAll
public boolean isMentionAllWhether to mention everyone. It can be presented as "@Everyone".
- Use cases: For example, it can be used in groups or rooms.
- Required: No.
- Default value: false.
- Recommended value: Set to true if you need to mention everyone.
- Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDsWhether to mention everyone. It can be presented as "@User".
- Use cases: For example, it can be used in sending messages.
- Required: No.
- Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
messageSeq
public unsigned long long messageSeqIndicates the sequence number of the message in the conversation.
rootRepliedCount
public unsigned int rootRepliedCountThe number of reply messages corresponding to the root message of the reply message tree.
repliedInfo
public ZIMMessageRepliedInfo repliedInfoInformation about the source message referenced by the reply message.
editorUserID
public std::string editorUserIDThe latest editor's userID for this message.
editedTime
public unsigned long long editedTimeThe latest editing timestamp for this message.
isGroupTargetedMessage
public bool isGroupTargetedMessageIdentify if this message is group targeted message.
pinnedUserID
public std::string pinnedUserIDThe last user who pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
pinnedTime
public long long pinnedTimeThe last timestamp when pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
ZIMRevokeMessageLiteInfo
Base class for revoke message lite info objects.
Declared in ZIMDefines.h
Properties
type
ZIMRoomAdvancedConfig
Room advanced config.
Details
Room‘s advanced config.
Declared in ZIMDefines.h
Properties
roomAttributes
public std::unordered_map<std::string, std::string> & roomAttributesRoom attributes of a room.
roomDestroyDelayTime
public unsigned int roomDestroyDelayTimeRoom destruction time delayed, the unit is seconds. The maximum room destroy delay time is 3 hours.
- Use cases: If the number of rooms is 0, set the room time to ensure that the room exists during this period.
- Required: Not mandatory.
ZIMRoomAttributesBatchOperationConfig
The behavior attribute set by the room attribute.
Details
The behavior attribute set by the room attribute.
Declared in ZIMDefines.h
Properties
isDeleteAfterOwnerLeft
public bool isDeleteAfterOwnerLeftRoom attributes are automatically deleted after the owner leaves the room.
- Required: Not required.
isForce
public bool isForceWhether the operation is mandatory, that is, the property of the room whose owner is another user can be modified.
- Required: Not required.
isUpdateOwner
public bool isUpdateOwnerWhether to update the owner of the room attribute involved.
- Required: Not required.
ZIMRoomAttributesDeleteConfig
The behavior attribute set by the room attribute.
Details
The behavior attribute set by the room attribute.
Declared in ZIMDefines.h
Properties
isForce
public bool isForceWhether the operation is mandatory, that is, the property of the room whose owner is another user can be deleted.
- Required: Not required.
ZIMRoomAttributesSetConfig
The behavior attribute set by the room attribute.
Details
The behavior attribute set by the room attribute.
Declared in ZIMDefines.h
Properties
isDeleteAfterOwnerLeft
public bool isDeleteAfterOwnerLeftRoom attributes are automatically deleted after the owner leaves the room.
- Required: Not required.
isForce
public bool isForceWhether the operation is mandatory, that is, the property of the room whose owner is another user can be modified.
- Required: Not required.
isUpdateOwner
public bool isUpdateOwnerWhether to update the owner of the room attribute involved.
- Required: Not required.
ZIMRoomAttributesUpdateInfo
Notice of Room Attribute Change.
Details
Notice of Room Attribute Change.
Declared in ZIMDefines.h
Properties
action
public ZIMRoomAttributesUpdateAction actionBehavioral information of room attribute change notification.
roomAttributes
public std::unordered_map<std::string, std::string> roomAttributesRoom attributes.
ZIMRoomMemberAttributesInfo
Room user attribute information.
Details
Detail description: A class describing room user attributes, including UserID and its corresponding attributes.
Declared in ZIMDefines.h
Properties
userID
public const std::string & userIDDetail description: User ID.
attributes
public std::unordered_map<std::string, std::string> attributesDetailed description: room user attributes.
ZIMRoomMemberAttributesOperatedInfo
Room user attribute operation information.
Details
Detail description: room user attribute operation information, including attributes of successful operation and keys of failure.
Declared in ZIMDefines.h
Properties
attributesInfo
public ZIMRoomMemberAttributesInfo attributesInfoDetailed description: room user attribute information.
errorKeys
public std::vector<std::string> errorKeysDetail description: The key of the room user attribute operation failure.
ZIMRoomMemberAttributesQueryConfig
Room user attribute query configuration.
Details
Detailed description: room user attribute query configuration.
Declared in ZIMDefines.h
Properties
nextFlag
public const std::string & nextFlagDetail description: Query anchor for room user properties.
Required or not: not required, it is empty by default for the first time, which means to start the query from the beginning.
count
public unsigned int count- Required: Required.
ZIMRoomMemberAttributesSetConfig
Room user property settings configuration.
Details
Detail description: room user attribute setting configuration, including configurable whether to retain user attributes after the user leaves, etc.
Business scenarios: When setting room user attributes, developers can choose to use them according to their actual application scenarios.
Declared in ZIMDefines.h
Properties
isDeleteAfterOwnerLeft
public bool isDeleteAfterOwnerLeft- Required: not required.
Default: true.
ZIMRoomMemberAttributesUpdateInfo
Room user attribute update information.
Details
Detailed description: Room user attribute update information.
Declared in ZIMDefines.h
Properties
attributesInfo
public ZIMRoomMemberAttributesInfo attributesInfoDetailed description: room user attributes.
ZIMRoomMemberInfo
Room user information.
Details
Detail description: A class describing room user.
Declared in ZIMDefines.h
Properties
userID
public std::string userIDUser ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.
userName
public std::string userNameUser name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.
- Required: Not required.
- Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
userAvatarUrl
public String userAvatarUrlThe user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.
- Required: Not required.
- Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
- Available since: 2.13.0 and above.
userExtendedData
public std::string userExtendedDataExtended field information of the user.
- Caution: This property has a value only for room users.
ZIMRoomOperatedInfo
Room operation information.
Details
Detailed description: Room operation information.
Declared in ZIMDefines.h
Properties
userID
public const std::string & userIDDetail description: UserID of the operator.
ZIMSelfUserInfo
Carry user information and rules of the current user.
Details
Carry user information and rules of the current user.
Declared in ZIMDefines.h
Properties
userRule
public ZIMUserRule userRuleRules for the current user, setting information.
userFullInfo
ZIMSelfUserRule
User's own rule class.
Declared in ZIMDefines.h
Properties
offlinePushRule
ZIMSendingMessageCancelConfig
Details
(Empty Class) Configurations related to cancel sending messages.
Declared in ZIMDefines.h
ZIMSubscribedUserStatusQueryConfig
QuerySubscribedUserStatusList query subscription list interface configuration items.
Details
QuerySubscribedUserStatusList query subscription list interface configuration items.
Declared in ZIMDefines.h
Properties
userIDs
public const std::vector\<std::string\> & userIDsPass this value if you need to check whether the specified user is in the subscription list of the current user, otherwise all users in the subscription list will be returned.
ZIMTipsMessageChangeInfo
Tips message additional information.
Details
Tips message additional information.
Declared in ZIMDefines.h
Properties
type
ZIMTipsMessageGroupChangeInfo
Tips Additional information about change events related to the message group.
Details
Tips Additional information about change events related to the message group.
Declared in ZIMDefines.h
Properties
groupDataFlag
public unsigned int groupDataFlagIf there are multiple changes in the group name, group avatar, and group announcement, you need to know which ones have changed based on the value of this field. Among them, 0b0001 is the group name, 0b0010 is the group notice, and 0b0100 is the group avatar.
groupName
public std::string groupNameIf the group name is changed, the changed value will be displayed here.
groupNotice
public std::string groupNoticeIf the group notice is changed, the changed value will be displayed here.
groupAvatarUrl
public std::string groupAvatarUrlIf the group avatar url is changed, the changed value will be displayed here.
groupMutedInfo
public std::shared_ptr<ZIMGroupMuteInfo> groupMutedInfoIf the group mute info is changed, the changed value will be displayed here.
type
ZIMTipsMessageGroupMemberChangeInfo
Tips Additional information about change events related to the message group member.
Details
Tips Additional information about change events related to the message group member.
Declared in ZIMDefines.h
Properties
memberRole
public int memberRoleIf a group member's role changes, the changed role will be displayed here.
muteExpiredTime
public unsigned long long muteExpiredTimeIf the group member's muting expired time changes, the new muting expired time will be displayed here.
groupNewOwner
public std::shared_ptr<ZIMGroupMemberSimpleInfo> groupNewOwnerDisplays information about the new group owner when the group owner leaves the group or is kicked from the group by the server.
- Use cases: Used for UI display when the group owner leaves the group or is kicked from the group by the server.
type
ZIMTipsMessagePinStatusChangeInfo
Tips Additional information about change events related to the message pinned or unpined.
Details
Tips Additional information about change events related to the message pinned or unpined.
Declared in ZIMDefines.h
Properties
isPinned
public bool isPinnedDescribes whether the current operation is a pin operation or an unpin operation.
type
ZIMUserOfflinePushRule
Data class of the user's offline push rule.
Details
Data class of the user's offline push rule.
Declared in ZIMDefines.h
Properties
onlinePlatforms
public List\<int> onlinePlatformsWith the data in the class member variables notToReceiveOfflinePushPlatforms collocation is used. OnlinePlatforms specified platform, online notToReceiveOfflinePushPlatforms specified platform will not receive offline push.
- Value range: Please enter the enumeration value corresponding to the platform in the ZIMPlatformType enumeration.
notToReceiveOfflinePushPlatforms
public List\<int> notToReceiveOfflinePushPlatformsWith the data in the class member variables onlinePlatforms collocation is used. OnlinePlatforms specified platform, online notToReceiveOfflinePushPlatforms specified platform will not receive offline push.
- Value range: Please enter the enumeration value corresponding to the platform in the ZIMPlatformType enumeration.
ZIMUserStatus
User status data
Details
Contains data about the user's online status.
Declared in ZIMDefines.h
Properties
userID
public String userIDA unique identifier for a single user.
onlineStatus
public ZIMUserOnlineStatus onlineStatusEnumeration that represents the current online status of the user.
onlinePlatforms
public List\<Number> onlinePlatformsThe list of online platforms of the current user can be used to display the online platforms of the user, such as iPhone online and PC online. Please refer to ZIMPlatform for the meanings of the numbers.
lastUpdateTime
public long lastUpdateTimeTimestamp when user onlineStatus or customStatus was last changed, whichever is the greater.
lastOnlineStatusUpdateTime
public long lastOnlineStatusUpdateTimeThe timestamp of the last change of the user onlineStatus, which can be used to show that the user was offline/logged in before xxx minutes.
lastCustomStatusUpdateTime
public long lastCustomStatusUpdateTimeThe timestamp when User customStatus was last changed, which can be used to show when the custom status was last changed.
customStatus
public String customStatusUser-defined status. The default maximum value is 64 bytes. The default expiration time is 1 day. At login, if the field is an empty string (which is the default), the current user's custom state is not modified.
ZIMUserStatusSubscribeConfig
subscribeUsersStatus Configuration items of the online status interface for subscribing users in batches.
Details
subscribeUsersStatus Configuration items of the online status interface for subscribing users in batches.
Declared in ZIMDefines.h
Properties
subscriptionDuration
public unsigned int subscriptionDurationUsed to set the duration of this subscription.
- Use cases: This field is required.
- Value range: :1 to 43200 (30 days), and the unit is minute.
- Caution: After the subscription is expired, the subscribed user will be deleted from the subscription list, and the status changes of the user will not be synchronized to the subscriber.
ZIMUserStatusSubscription
User status subscription information. Contains the user's online status, a list of online platforms, subscription expiration time stamps, and more.
Details
User status subscription information. Contains the user's online status, a list of online platforms, subscription expiration time stamps, and more.
- Available since: 2.18.0
Declared in ZIMDefines.h
Properties
userStatus
subscribeExpiredTime
public long subscribeExpiredTimeThe timestamp when the user's subscription expired.
ZIMUsersInfoQueryConfig
User information query configuration.
Details
Detailed description: User information query configuration, you can choose to query from the local or from the server. Query the unlimited frequency constraints from the local, and query the limited frequency constraints from the server. You can only query the detailed configuration of 10 users within 10 s.
Declared in ZIMDefines.h
Properties
isQueryFromServer
public bool isQueryFromServer- Required: not required.
Default: false.
ZIMVideoMessage
Video message object.
Declared in ZIMDefines.h
Properties
videoDuration
public unsigned long long videoDuration- Required: Required by the sender, if not filled, the video message will fail to be sent when sending local video messages.
videoFirstFrameLocalPath
public std::string videoFirstFrameLocalPathDetailed description: The video first frame local path of the video file.
Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.
videoFirstFrameDownloadUrl
public std::string videoFirstFrameDownloadUrlDetail description: Video first frame external download URL of the video file. When developers upload thumbnails to their own servers, the SDK can pass through this field to other users.
Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.
videoFirstFrameWidth
public unsigned int videoFirstFrameWidthDetailed description: The width of the first frame of the video.
Business scenario: When the user needs to draw a picture UI, the parameter used to determine the width of the first frame of the video, the unit is pixel.
videoFirstFrameHeight
public unsigned int videoFirstFrameHeightDetailed description: The height of the first frame of the video.
Business scenario: When the user needs to draw a picture UI, the parameter used to determine the height of the first frame of the video, the unit is pixel.
fileLocalPath
public std::string fileLocalPath- Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.
fileDownloadUrl
public std::string fileDownloadUrlDetail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.
Required or not: If an external URL is sent, this parameter is mandatory on the sender end.
fileUID
public std::string fileUIDDetail description: The unique ID of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
fileName
public std::string fileNameDetail description: The filename of the media file.
Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.
fileSize
public unsigned long long fileSizeDetail description: The size of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
type
messageID
public long long messageIDThe unique ID that identifies this message.
- Use cases: Can be used to index other messages.
- Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.
timestamp
public unsigned long long timestampIdentifies the sending time of a message
- Use cases: Used to present the sending time of a message, and can be used for message sorting.
- Caution: This is a standard UNIX timestamp, in milliseconds.
senderUserID
public String senderUserIDDisplays the userID of the sender of this message.
conversationID
public String conversationIDConversation ID. Ids of the same conversation type are unique.
direction
public ZIMMessageDirection directionUsed to describe whether a message is sent or received.
sentStatus
conversationType
public ZIMConversationType conversationTypeThe type of conversation to which the message belongs.
conversationSeq
public unsigned long long conversationSeqIndicates the sequence number of the message in the conversation.
orderKey
public long long orderKeyThe larger the orderKey, the newer the message, and can be used for ordering messages.
localMessageID
public long long localMessageIDSDK locally generated MessageID, developers do not need to pay attention to.
isUserInserted
public bool isUserInsertedDetail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].
Default: false.
receiptStatus
public ZIMMessageReceiptStatus receiptStatusDescribe the receipt status of the message
Business scenario: used to determine the status of the current message in the receipt message
extendedData
public std::string extendedDatamessage extension field
- Use cases: You can add extended fields to the message and send it to the peer
- Required: no
- Caution: the length is 1k, you can contact technical support for configuration
- Available since: 2.6.0 or higher
localExtendedData
public String localExtendedDataThe expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.
isBroadcastMessage
public bool isBroadcastMessageWhether the message is pushed by all employees.
- Required: Internal assignment.
isMentionAll
public boolean isMentionAllWhether to mention everyone. It can be presented as "@Everyone".
- Use cases: For example, it can be used in groups or rooms.
- Required: No.
- Default value: false.
- Recommended value: Set to true if you need to mention everyone.
- Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDsWhether to mention everyone. It can be presented as "@User".
- Use cases: For example, it can be used in sending messages.
- Required: No.
- Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
- Available since: 2.14.0 or above
messageSeq
public unsigned long long messageSeqIndicates the sequence number of the message in the conversation.
rootRepliedCount
public unsigned int rootRepliedCountThe number of reply messages corresponding to the root message of the reply message tree.
repliedInfo
public ZIMMessageRepliedInfo repliedInfoInformation about the source message referenced by the reply message.
editorUserID
public std::string editorUserIDThe latest editor's userID for this message.
editedTime
public unsigned long long editedTimeThe latest editing timestamp for this message.
isGroupTargetedMessage
public bool isGroupTargetedMessageIdentify if this message is group targeted message.
pinnedUserID
public std::string pinnedUserIDThe last user who pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
pinnedTime
public long long pinnedTimeThe last timestamp when pinned this message.
- Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].
ZIMVideoMessageLiteInfo
Video message lite info object.
Details
Identifies a video message.
Usage restrictions: Only supports video files with video encoding formats of H264 and H265. After the message is sent successfully, the width and height information of the first frame of the video can be obtained.
Declared in ZIMDefines.h
Properties
videoDuration
public unsigned long long videoDuration- Required: Required by the sender, if not filled, the video message will fail to be sent when sending local video messages.
videoFirstFrameLocalPath
public std::string videoFirstFrameLocalPathDetailed description: The video first frame local path of the video file.
Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.
videoFirstFrameDownloadUrl
public std::string videoFirstFrameDownloadUrlDetail description: Video first frame external download URL of the video file. When developers upload thumbnails to their own servers, the SDK can pass through this field to other users.
Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.
videoFirstFrameWidth
public unsigned int videoFirstFrameWidthDetailed description: The width of the first frame of the video.
Business scenario: When the user needs to draw a picture UI, the parameter used to determine the width of the first frame of the video, the unit is pixel.
videoFirstFrameHeight
public unsigned int videoFirstFrameHeightDetailed description: The height of the first frame of the video.
Business scenario: When the user needs to draw a picture UI, the parameter used to determine the height of the first frame of the video, the unit is pixel.
fileLocalPath
public std::string fileLocalPath- Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.
fileDownloadUrl
public std::string fileDownloadUrlDetail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.
Required or not: If an external URL is sent, this parameter is mandatory on the sender end.
fileName
public std::string fileNameDetail description: The filename of the media file.
Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.
fileSize
public unsigned long long fileSizeDetail description: The size of the media file.
Required or not: The sender does not need to fill in, this value is generated by the SDK.
type
ZIMVoIPConfig
Provides information about the iOS VoIP offline push.
Details
Provides information about the iOS VoIP offline push.
Declared in ZIMDefines.h
Properties
iOSVoIPHandleType
public ZIMCXHandleType iOSVoIPHandleTypeThe type of contact information for the VoIP caller, by default, is generic.
iOSVoIPHandleValue
public String iOSVoIPHandleValueThe contact information of the VoIP caller. It is related to iOSVoIPHandleType. When iOSVoIPHandleType is PhoneNumber, the Value is a sequence of digits; when iOSVoIPHandleType is EmailAddress, the Value is an email address; when the contact information is of other types, the Value typically follows some domain-specific format, such as a username, numeric ID, or URL.
iOSVoIPHasVideo
public boolean iOSVoIPHasVideoVideo call or not. The default value is audio
