please select
  • UIKit
  • SDK
  • Server APIs
Chat/
SDK/
iOS and macOS/
API Reference/
SDK
  • Installation
    • iOS
    • macOS
  • Initialize Chat SDK
  • Login and Logout
  • Message
    • Overview
    • Send a Message
    • Receive a Message
    • Retrieve Messages
    • Forward Messages
    • Modify a Message
    • Insert a Message
    • Delete Messages
    • Clear History Messages
    • Recall a Message
    • Send an Online Message
    • Message Read Receipt
    • Query Messages
    • Mentions
    • Targeted Group Messages
    • Do not Notify
    • Key-Value Extensions
    • Reactions
    • Translation
    • Pin Messages
  • Conversation
    • Overview
    • Conversation List
    • Get Conversations
    • Unread Count
    • Pin Conversations
    • Delete Conversations
    • Draft
    • Mark
    • Conversation Group
  • Group
    • Overview
    • Manage Group
    • Profile
    • Manage Members
    • Member Profile
    • Attribute
    • Counter
  • Community and Topic
    • Manage Community
    • Permission Group
  • User
    • User Profile
    • User Status
    • Manage Friends
    • Friend Group
    • Block Lists
    • Follow
  • Local Search
    • Search Messages
    • Search Friends
    • Search Groups
    • Search Group Members
  • Signaling
  • API Reference
    • Swift
    • Objective-C
  • Guideline for Beginners
  • Console Guide
    • Creating and Upgrading an Application
    • Basic Configuration
    • Feature Configuration
    • Account Management
    • Group Management
    • Webhook Configuration
  • Product Introduction
    • Message Management
      • One-to-One Message
      • Message Storage
      • Offline Push
      • Group Message
      • Message Formats
    • Account System
      • Login Authentication
      • Online Status Management
    • Group Related
      • Group System
      • Group Management
    • User Profile and Relationship Chain
      • Profile Management
      • Relationship Chain Management
  • Purchase Guide
    • Billing Overview
    • Pricing
  • Error Codes

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 IM SDK supports four preset group types, each of which pertains to different scenarios.
Work group (Work): similar to a WeChat group. Users can join the group only after being invited by existing members.
Public group (Public): similar to a QQ group. Users can join the 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.
Audio-video group (AVChatRoom): suitable for scenarios such as live streaming and chat rooms with on-screen comments. Users can join and leave the group freely. 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

By default, Tencent Cloud IM does not check your relationship with a user when receiving and sending messages. You can enable "Check Relationship for One-to-One Messages" on Feature Configuration > Login and Message > Relationship Check in the IM console and use the following APIs to delete/add friends and manage your friend list.
API
Description
Adds a relationship chain listener to receive friend list and blocklist change events.
Removes relationship chain 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.