|
inlinevirtual |
|
pure virtual |
1.1 Add an event listener for advanced messages
|
pure virtual |
1.2 Remove the event listener for advanced messages
|
pure virtual |
2.1 Create a text message
|
pure virtual |
2.2 Create a text message with the @ notification feature(This interface is deprecated, recommended to use the CreateAtSignedGroupMessage interface)
Notification messages are only applicable to messages sent in the group.
atUserList | List of @ target users. To @all, please pass in the kImSDK_MesssageAtALL constant string. For example, if you want the current text message to @denny, @lucy, and @all, pass in ["denny","lucy",kImSDK_MesssageAtALL] for atUserList. |
|
pure virtual |
2.3 Create a custom message
|
pure virtual |
2.4 Create a custom message and set offline push information
description | Custom message description information to be displayed in text during offline push |
extension | Extension field information during offline push |
|
pure virtual |
2.5 Create an image message (image size limit: 28 MB)
|
pure virtual |
2.6 Create a voice message (voice size limit: 28 MB)
duration | Voice duration, in seconds |
|
pure virtual |
2.7 Create a video message (video size limit: 100 MB)
type | Video type, such as mp4 and mov |
duration | Video duration, in seconds |
snapshotPath | Video cover image path |
|
pure virtual |
2.8 Create a file message (file size limit: 100 MB)
|
pure virtual |
2.9 Create a location message
|
pure virtual |
2.10 Create an emoji message
The IM SDK does not provide an emoji package. Developers can use index to store the indexes of the emojis they have in their emoji packages. Alternatively, they can directly use data to store emoji binary data and the string key. Either way, developers can customize emojis. The IM SDK is only responsible for passing them through.
index | Emoji index |
data | Custom data |
|
pure virtual |
2.11 Create a combined message (supported only in 5.2.210 and later versions)
Usually when we receive a combined message, the chat screen will look like this:
|Chat History of Vinson and Lynx | – title (Title)
|Vinson: When is the new version of SDK scheduled to go online? | – abstract1 (Digest information 1)
|Lynx: Next Monday. The specific time depends on the system test result in these two days. | – abstract2 (Digest information 2)
|Vinson: OK | – abstract3 (Digest information 3)
The chat UI usually displays only the title and digest information of the combined message, and the complete combined message list will be displayed only when the user clicks the combined message on the UI.
You can create a combined message (V2TIMMessage) for multiple messages to be forwarded and call the sendMessage API to send the combined message. The procedure is as follows:
1. Call createMergerMessage to create a combined message V2TIMMessage.
2. Call sendMessage to send the forward message V2TIMMessage.
The procedure for parsing a combined message received is as follows:
1. Obtain mergerElem via V2TIMMessage.
2. Obtain title and abstractList via mergerElem for UI display.
3. When a user clicks the digest information on the UI, call downloadMessageList to get the list of forwarded messages.
messageList | Message list (Up to 300 messages are supported. The message object must be in the V2TIM_MSG_STATUS_SEND_SUCC status. The message type cannot be V2TIMGroupTipsElem.) |
title | Source of the combined message, for example, "Chat History of Vinson and Lynx" and "xxx group chat history" |
abstractList | Combined message digest list (supports up to 5 digests, each containing a maximum of 100 characters) You can set digest information in different formats for different message types, for example: For a text message, the digest can be in the "sender:text" format. For an image message, the digest can be in the "sender:[image]" format. For a file message, the digest can be in the "sender:[file]" format. |
compatibleText | Combined messages are compatible with text. SDKs of early versions do not support combined messages, and they will send a text message with the content compatibleText by default. The parameter cannot be empty string. |
|
pure virtual |
2.12 Create a forward message (supported only in 5.2.210 and later versions)
If you need to forward a message, you cannot directly call the sendMessage API to send the original message. Instead, you need to call createForwardMessage to create a forward message first and send it.
message | Message object to be forwarded. The message status must be V2TIM_MSG_STATUS_SEND_SUCC. The message type cannot be V2TIMGroupTipsElem. |
|
pure virtual |
2.13 Create a targeted group message(supported only in 6.0 and later versions)
If you need to send a message to a specified group member list within a group, you can create a targeted group message. Only the specified group member can receive the targeted group message.
message | Original message object |
receiverList | Message receivers |
|
pure virtual |
2.14 Create a @ signed group message(supported only in 7.0 and later versions)
If you need to send a group message with @ notification feature, you can create a @ signed group message.
message | Original message object |
atUserList | List of @ target users. To @all, please pass in the kImSDK_MesssageAtALL constant string. For example, if you want the current message to @denny, @lucy, and @all, pass in @["denny", @"lucy", kImSDK_MesssageAtALL] for atUserList. |
|
pure virtual |
3.1 Send an advanced message (advanced version: provides the features of specifying message priorities and push information)
message | Message object to be sent, which needs to be created via the corresponding message creation API |
receiver | Message recipient's userID. For a one-to-one message, you only need to specify this field. |
groupID | Target group ID For a group chat message, you only need to specify this field. |
priority | Message priorities. This field is valid only for group chat messages. You are advised to set higher priorities for important messages (such as red packet and gift messages) and set lower priorities for frequent but unimportant messages (such as like messages). |
onlineUserOnly | Whether the message can be received only by online users. If this field is set to true, the message cannot be pulled in recipient historical message pulling. This field is often used to implement weak notification features such as "The other party is typing" or unimportant notifications in the group. This field is not supported by audio-video groups (AVChatRoom). |
offlinePushInfo | Title and voice carried when the message pushing offline. |
|
pure virtual |
4.1 Set the one-to-one message receiving option for specified users (batch setting supported)
Supported only in 5.3.425 and later versions.
opt | There are three message receiving options: V2TIMMessage.V2TIM_RECEIVE_MESSAGE: messages will be received when the user is online, and push notifications will be received when the user is offline. V2TIMMessage.V2TIM_NOT_RECEIVE_MESSAGE: no message will be received. V2TIMMessage.V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE: messages will be received when the user is online, and no push notification will be received when the user is offline. |
|
pure virtual |
4.2 Query the one-to-one message receiving option for specified users
Supported only in 5.3.425 and later versions.
|
pure virtual |
4.3 Set the group message receiving option
|
pure virtual |
5.1 Get historical messages (advanced API)
option | Message pulling option, which can be set to pull older or newer messages from local storage or the cloud |
|
pure virtual |
5.2 Recall messages
|
pure virtual |
5.3 Modify message
|
pure virtual |
5.4 Delete a message from local storage
|
pure virtual |
5.5 Delete messages from local storage and the cloud
|
pure virtual |
5.6 Clear chat history with a user from local storage and the cloud (without deleting the conversation)
Supported only in 5.4.666 and later versions.
|
pure virtual |
5.7 Add a message to the group message list
This API is mainly used to meet the requirement of inserting informative messages, such as "you have exited the group", into a group chat conversation. Such messages need to be displayed in the chat interface but do not need to be sent to others. Messages that need to be displayed in the chat interface but do not need to be sent to others. Therefore, insertGroupMessageToLocalStorage() is equivalent to a sendMessage() API whose network sending capability is disabled.
|
pure virtual |
5.8 Insert a message in a one-to-one chat
This API is mainly used to meet the requirement of inserting informative messages, such as "you have exited the group", into a one-to-one chat conversation. Such messages need to be displayed in the chat interface but do not need to be sent to the peer party. Messages that need to be displayed in the chat interface but do not need to be sent to others. Therefore, insertC2CMessageToLocalStorage() is equivalent to a sendMessage() API whose network sending capability is disabled.
|
pure virtual |
5.9 Query local messages in a specified conversation by messageID
messageIDList | Message ID list |
|
pure virtual |
5.10 Search for local messages (supported only in 5.4.666 and later versions and need to buy Flagship Edition)
searchParam | Message search parameter. For details, see the definition of V2TIMMessageSearchParam. |
|
pure virtual |
5.11 Send read receipts to the message sender for message which have been received(Supported only in 6.1 and later versions and need to buy Flagship Edition)
messageList | Message list |
|
pure virtual |
5.12 Get read receipts for messages which have been sent by myself(Supported only in 6.1 and later versions and need to buy Flagship Edition)
messageList | Message list |
|
pure virtual |
5.13 Get group members profile who have read ths message(Supported only in 6.1 and later versions and need to buy Flagship Edition)
message | group message |
filter | Specify the group message read members type. |
nextSeq | Pulling-by-page cursor. It is set to 0 when the information is pulled for the first time. The value of this field in the callback for the current paginated pulling is passed in for the next pull. |
count | Number of read members pulled per page. Supports up to 100. |
|
pure virtual |
5.14 Set message extensions (supported only in 6.7 and later versions)
message | The target message must be sent successfully and its supportMessageExtension field must be set to YES before sending. In addition, AVChatRoom message do not support this feature. |
extensions | The existing message extensions will be updated, and non-existing message extensions will be added directly. |
|
pure virtual |
5.15 Get message extensions (supported only in 6.7 and later versions)
|
pure virtual |
5.16 Delete message extensions (supported only in 6.7 and later versions)
keys | Message extension key list, A maximum of 20 message extensions can be deleted at a time , if set to nil , it means to delete all extensions of the message. |
|
pure virtual |
5.17 Translate text message.
sourceTextList | Texts to be translated. |
sourceLanguage | Source language. You can pass the specific language or "auto". "auto" means identifying the source language automatically. If you set it to nil, "auto" will be filled as default. |
targetLanguage | Target language. Multi languages are supported, like: English-"en", Simplified Chinese-"zh", French-"fr", German-"ge" and so on. For more languages, please refer to this documentation: Language support. |
callback | Translated result callback. The key represents the source text and value represents target text. |
|
pure virtual |
5.18 Mark one-to-one messages as read (It is deprecated and discouraged to call this function. Please call API cleanConversationUnreadMessageCount instead)
|
pure virtual |
5.19 Mark group messages as read (It is deprecated and discouraged to call this function. Please call API cleanConversationUnreadMessageCount instead)
|
pure virtual |
5.20 Mark all messages as read (It is deprecated and discouraged to call this function. Please call API cleanConversationUnreadMessageCount instead)