Swift

Caution
Do not use APIs of new and old versions at the same time.

Initialization and Login APIs

To use Tencent Cloud IM services, you need to initialize the SDK and log in.
API
Description
Initializes the SDK.
Uninitializes the SDK.
Add IM listener
Remove IM listener
Gets the version number.
Gets the server time.
Logs in.
Logs out.
Gets the currently logged-in user.
Gets the login status.
Gets user status information.
Sets user status for yourself.
Subscribes user status.
Unsubscribes user status.

Simple Message APIs

Use the following APIs for the sending and receiving of text and signaling (custom buffer) messages.
API
Description
Sets an event listener for simple messages (text messages and custom messages).Do not use it and addAdvancedMsgListener at the same time.
Removes the event listener for simple messages (text messages and custom messages).
Sends a one-to-one (C2C) text message.
Sends a one-to-one (C2C) custom (signaling) message.
Sends a group text message.
Sends a group custom (signaling) message.

Signaling APIs

API
Description
Adds a signaling listener.
Removes a signaling listener.
Invites a user.
Invites certain users in the group.
Cancels an invitation.
Accepts an invitation.
Rejects an invitation.
Gets the signaling information.
Adds invitation signaling (can be used for invitation signaling triggered by offline push messages for group invitations).
modify invitation.

Advanced Message APIs

If you need to send/receive rich media messages (images, videos, files, etc.) and use advanced features such as recalling messages, marking messages as read, and querying message history, use the following advanced message APIs. Do not use simple messages APIs and advanced message APIs at the same time.
API
Description
Sets an event listener for advanced messages.Do not use it and addSimpleMsgListener at the same time.
Removes the listener for advanced messages.
Creates a text message.
Creates an @ text message.
Creates a custom message.
Creates an image message.
Creates a voice message.
Creates a video message.
Creates a file message.
Creates a location message.
Creates an emoji message.
Creates a combined forward message.
Creates a single forward message.
Creates a targeted group message
Sends a message. The message object can be created using a createXXXMessage API.
Sets the Mute Notifications option for one-to-one messages.
Gets the Mute Notifications status for one-to-one messages.
Sets the Mute Notifications option for group messages.
Gets one-to-one (C2C) message history.
Gets group chat message history.
Gets message history.
Recalls a message. The message object can be created using a createXXXMessage API.
Modifies a message. The message object can be created using a createXXXMessage API.
Marks one-to-one (C2C) messages as read.
Marks group messages as read.
Marks all messages as read.
Deletes a message from local storage.
Deletes messages from local storage and the cloud.
Clears chat history with a user from local storage and the cloud.
Clears chat history of a group from local storage and the cloud.
Inserts a message in a group chat.
Inserts a message in a one-to-one chat.
Finds local messages by msgID.
Searches for local messages.
Sends read receipts to the message sender for message which have been received.
Gets read receipts for messages which have been sent by myself.
Gets group members profile who have read ths message.
Sets message extensions
Gets message extensions
Deletes message extensions
Adds message reaction.
Removes message reaction.
Gets message reactions.
Gets all user list of message reaction.
Sets group message pinning.
Gets pinned group message list.

Group APIs

Tencent Cloud Chat SDK supports five preset group types, each of which pertains to different scenarios.
Work group (Work): users can join the group only after being invited by group members. This group type is the same as private group (Private) in earlier versions.
Public group (Public): Users can join a public group through requests, which need to be approved by the group owner or group admin.
Meeting group (Meeting): used together with TRTC to enable scenarios such as video conferencing and online education. Users can join and leave the group freely and view the message history before they join. Same as chat room (ChatRoom) in earlier versions.
Community: A user can join and leave a community freely. It is suitable for chat scenarios with a super large number of community members, such as knowledge sharing and game discussion. This feature is supported by a client with the SDK enhanced edition v5.8.1668 or later and the web SDK v2.17.0 or later. To use it, you need to purchase the Premium edition, and then enable it in Console, path: Applications > Your App > Chat > Configuration > Group Configuration > Community.
Audio-video group (AVChatRoom): An audio-video group allows users to join and leave freely and is suitable for scenarios such as live streaming and chat rooms with on-screen comments. There is no limit on the number of group members.
API
Description
Adds an event listener for groups.
Removes event listener for groups.
Creates a (simple) group.
Creates an (advanced) group. The group information and the initial group members can be set during group creation.
Joins a group.
Quits a group.
Deletes a group. Only the group owner and group admin can delete a group.
Gets the list of groups the current user has joined, excluding audio-video groups.
Pulls profiles of groups.
Searches for groups.
Modifies the profile of a group.
Initializes group attributes.
Sets group attributes.
Deletes group attributes.
Gets group attributes.
Gets the number of online group members.
Gets group member list.
Gets the profiles of specified group members.
Searches for group members.
Modifies the profile of a specified group member.
Mutes a group member.
Invites users to a group.
Removes a member from a group.
Sets the role for a group member.
Mark group member list .
Changes the group owner.
Gets the list of requests to join a group.
Accepts a request to join a group.
Rejects a request to join a group.
Marks the request list as read.
Gets the list of Community-groups that the current user has joined
Creates topic
Deletes topic
Modifies topic information
Gets topic list

Conversation List APIs

The conversation list is the list a user sees on the first screen after logging in to WeChat or QQ. It includes elements such as conversation node, conversation name, group name, last message, and unread count.
API
Description
Adds a conversation listener.
Removes conversation listener.
Gets the conversation list.
Gets a conversation.
Gets multiple conversations.
Gets multiple conversations (advanced API).
Deletes a conversation.
Sets draft for a conversation.
Sets custom data for a conversation.
Pins a conversation to the top.
Marks a conversation to the top.
Gets the total unread message count.
Create conversation group.
Get conversation group list.
Delete conversation group.
Rename conversation group.
Add conversations to group.
Delete conversations from group.

User Profile APIs

You can use the following APIs to query user profiles, modify your profile, and block messages from a specified user (i.e., adding a specified user to the blocklist).
API
Description
Gets users’ profiles.
Modifies one's own user profile.
Blocks messages from a specified user, which means adding the user to the blocklist.
Unblocks messages from a specified user, which means removing the user from the blocklist.
Gets the blocklist.

Offline Push APIs

Use the offline push service if you want your app to receive IM messages in real time when it runs in the background. As there is currently no unified push service in the Chinese mainland, you need to Offline Push(iOS).
API
Description
Sets an APNs listener.
Configures APNS push.
Configures VOIP push.

Friend Management APIs

Tencent Cloud Chat SDK does not check friend relationships by default when sending and receiving messages. To achieve the interactive experience of "add friends first, then send messages", you can log in to the Console to modify Relationship Check. When enabled, users can only send messages to their friends. When a user sends a message to a non-friend, SDK will report a 20009 error code. The configuration path is: Applications > Your App > Chat > Configuration > Login and Message > Relationship Check.
Use the following API to add or delete friends and manage friend lists.
API
Description
Adds a Contacts listener to receive friend list and blocklist change events.
Removes Contacts listener.
Gets the friend list.
Gets the profiles of specified friends.
Sets the profile of a specified friend.
Searches for friends.
Adds a friend.
Deletes a friend.
Checks relationship with specified users.
Gets the list of friend requests.
Accepts a friend request.
Rejects a friend request.
Deletes a friend request.
Marks a friend request as read.
Creates a friend list.
Gets the information of friend lists.
Deletes friend lists.
Modifies the name of a friend list.
Adds friends to a friend list.
Deletes friends from a friend list.