SDK 公开面与文档覆盖
本页回答一个具体问题:这个平台导出的每个公开方法、事件、枚举与数据类型,在文档中心的哪一页被说明?页面由 SDK 制品公开面(api-surface 快照)与 IDL 绑定声明生成,逐项给出签名与文档位置;差异(多余/缺失的方法)如实标注,不做静默补齐。
契约(IDL 语义操作)是语义权威:方法名、参数、返回、错误码、示例都以功能页为准。
制品快照用于确认该平台是否真的导出了该方法;快照与实现不一致时,页面标注差异而不是猜测。
本页只做索引与核对,不重复功能页的参数表与示例。
来源与口径
| 项 | 内容 |
|---|---|
| 制品公开面 | 该平台未随包导出 api-surface 快照,改用 IDL 绑定声明 |
| 契约语义 | IDL 1.0.0 的 103 个语义操作 + 16 个事件 |
| 绑定签名 | 来自 IDL 绑定声明的方法签名(各平台语言风格) |
| 口径说明 | C ABI 只覆盖 18 个操作;其余操作在本页标注“C ABI 未提供”,并给出替代路径。 |
覆盖摘要
| 类别 | 数量 | 文档承载位置 |
|---|---|---|
| IDL 语义操作 | 103 | 功能页(每操作:说明 + 参数表 + 返回值 + 错误码 + 示例) |
| 绑定便捷方法 | 0 | — |
| 事件 | 16 | 本页事件表 + 连接监听 |
| 枚举 / 常量 | 14 | API 参考「枚举」各页 |
| 数据类型 | 58 | API 参考「类」各页 + 方法参数/返回值表 |
公开方法索引
下表逐项列出本平台导出的公开方法(IDL 语义操作在前,绑定便捷方法在后),并给出承载页面。功能页内的每个操作都有独立的参数表、返回值、错误码与可运行示例。
| 方法 | 本平台签名 / 形态 | 文档位置 |
|---|---|---|
init | im_client_new(const char* appkey, const char* server_url) -> im_client_t* | 建立连接 |
connect | im_client_connect(im_client_t*, const char* token, char* out_user_id, size_t out_len) | 建立连接 |
disconnect | im_client_disconnect(im_client_t*) | 建立连接 |
getConnectionStatus | im_client_connection_status(im_client_t*) -> int | 建立连接 |
getCurrentUserId | im_client_current_user_id(im_client_t*, char* out, size_t out_len) | 连接监听 |
addEventListener | im_client_set_event_callback(im_client_t*, im_event_cb cb, void* user_data) | 连接监听 |
removeEventListener | — | 连接监听 |
sendMessage | im_client_send_content(im_client_t*, int conversation_type, const char* target_id, const char* content_json, const char* client_msg_id, char* out_json, size_t out_len) | 发送消息 |
sendTextMessage | im_client_send_text(im_client_t*, int conversation_type, const char* target_id, const char* text, const char* client_msg_id, char* out_message_id, size_t out_len) | 发送消息 |
sendImageMessage | — | 发送消息 |
sendFileMessage | — | 发送消息 |
sendVoiceMessage | — | 发送消息 |
sendLocationMessage | — | 发送消息 |
sendTypingStatus | — | 输入状态 |
recallMessage | im_client_recall(im_client_t*, const char* message_id) | 消息管理 |
sendReadReceipt | im_client_send_read_receipt(im_client_t*, int conversation_type, const char* target_id, const char* const* message_ids, size_t count) | 已读回执 |
getMessageReadCount | — | 已读回执 |
getMessageReadUsers | — | 已读回执 |
getMessageReadDetail | — | API 参考索引 |
searchMessages | — | 消息管理 |
getConversationList | im_client_conversation_list(im_client_t*, char** out_json) + im_string_free | 会话列表 |
getConversation | — | 会话列表 |
getHistoryMessages | im_client_history(im_client_t*, int conversation_type, const char* target_id, int limit, unsigned long long before_seq, char** out_json) | 历史消息 |
clearUnreadCount | — | 未读数 |
setConversationToTop | — | 置顶与免打扰 |
saveTextMessageDraft | — | 草稿 |
getTextMessageDraft | — | 草稿 |
clearTextMessageDraft | — | 草稿 |
setConversationNotificationLevel | — | 置顶与免打扰 |
getUserProfile | — | 用户资料 |
updateMyUserProfile | — | 用户资料 |
getOnlineStatus | — | 在线状态 |
getOnlineStatusBatch | — | 在线状态 |
searchUsers | — | 好友列表 |
sendFriendRequest | — | 好友请求 |
getFriendRequests | — | 好友请求 |
acceptFriendRequest | — | 好友请求 |
rejectFriendRequest | — | 好友请求 |
getFriends | — | 好友列表 |
deleteFriend | — | 好友列表 |
setFriendRemark | — | 好友列表 |
getBlacklist | — | 黑名单 |
addToBlacklist | — | 黑名单 |
removeFromBlacklist | — | 黑名单 |
createGroup | — | 创建群组 |
getGroupsInfo | — | 创建群组 |
getGroupMembers | im_client_group_members(im_client_t*, const char* group_id, char** out_json) | 群成员 |
addGroupMembers | — | 群成员 |
removeGroupMembers | — | 群成员 |
quitGroup | — | 群成员 |
updateGroupName | — | 群管理 |
updateGroupNotice | — | 群管理 |
transferGroupOwner | — | 群管理 |
addGroupAdmin | — | 群管理 |
removeGroupAdmin | — | 群管理 |
muteGroupMember | — | 群管理 |
createChatroom | — | 加入与退出 |
joinChatroom | im_client_chatroom_join(im_client_t*, const char* chatroom_id) | 加入与退出 |
leaveChatroom | im_client_chatroom_leave(im_client_t*, const char* chatroom_id) | 加入与退出 |
getChatroomInfo | im_client_chatroom_info(im_client_t*, const char* chatroom_id, char** out_json) | 聊天室信息 |
getChatroomMembers | — | 聊天室信息 |
getSystemMessages | — | 系统通知 |
uploadFile | im_client_upload_file(im_client_t*, const void* data, size_t len, const char* name, const char* mime, char** out_json) | 文件上传 |
updateMessageExpansion | — | 消息进阶 |
removeMessageExpansion | — | 消息进阶 |
addMessageReaction | — | 消息进阶 |
removeMessageReaction | — | 消息进阶 |
batchGetMessageReactionSummaries | — | 消息进阶 |
getMessageReactions | — | 消息进阶 |
getMessageReactionUsers | — | 消息进阶 |
createConversationTag | — | 会话标签与分组 |
updateConversationTag | — | 会话标签与分组 |
deleteConversationTag | — | 会话标签与分组 |
getConversationTags | — | 会话标签与分组 |
addConversationsToTag | — | 会话标签与分组 |
removeConversationsFromTag | — | 会话标签与分组 |
getConversationsFromTagByPage | — | 会话标签与分组 |
getTagsFromConversation | — | 会话标签与分组 |
getUnreadCountByTag | — | 会话标签与分组 |
setConversationToTopInTag | — | 会话标签与分组 |
deleteConversation | — | 会话删除与类型免打扰 |
getConversationTypeNotification | — | 会话删除与类型免打扰 |
setConversationTypeNotification | — | 会话删除与类型免打扰 |
startStreamMessage | — | 消息进阶 |
appendStreamMessage | — | 消息进阶 |
completeStreamMessage | — | 消息进阶 |
getStreamMessage | — | 消息进阶 |
getMessageExpansion | — | 消息进阶 |
combineMessages | — | 消息进阶 |
subscribePresence | — | 在线状态订阅与推送令牌 |
unsubscribePresence | — | 在线状态订阅与推送令牌 |
getPresenceSubscriptions | — | 在线状态订阅与推送令牌 |
registerPushToken | — | 在线状态订阅与推送令牌 |
unregisterPushToken | — | 在线状态订阅与推送令牌 |
getPushTokens | — | 在线状态订阅与推送令牌 |
createSupergroupChannel | — | 超级群频道与用户组 |
listSupergroupChannels | — | 超级群频道与用户组 |
joinSupergroupChannel | — | 超级群频道与用户组 |
leaveSupergroupChannel | — | 超级群频道与用户组 |
bindUserGroupToChannel | — | 超级群频道与用户组 |
createUserGroup | — | 超级群频道与用户组 |
listUserGroups | — | 超级群频道与用户组 |
getUserGroupsByUser | — | 超级群频道与用户组 |
事件索引
事件名在所有 GA 平台一致(Web 为小写下划线常量值,原生平台为枚举成员)。事件订阅方式见连接监听页;载荷字段来自 IDL 事件定义。
| 事件 | 载荷 | 本平台导出 | 文档位置 |
|---|---|---|---|
CONNECTING | {attempt:int} | — | API 参考 · 事件载荷 |
CONNECTED | {userId:string, sessionId?:string} | — | API 参考 · 事件载荷 |
DISCONNECT | {code:int, reason:string} | — | API 参考 · 事件载荷 |
SUSPEND | {code:int, reason:string} | — | API 参考 · 事件载荷 |
MESSAGES | {messages:Message[]} | — | API 参考 · 事件载荷 |
CONVERSATION | {conversation:Conversation} | — | API 参考 · 事件载荷 |
MESSAGE_RECALLED | {message:Message} | — | API 参考 · 事件载荷 |
READ_RECEIPT | ReadReceipt | — | API 参考 · 事件载荷 |
TYPING | {conversationType:ConversationType,targetId:string,userId:string,typing:bool,timestamp:int64} | — | API 参考 · 事件载荷 |
MESSAGE_REACTION_CHANGED | {messageId:string,conversationType:ConversationType,targetId:string,reactionId:string,operation:added|removed|cleared,userId:string,reactionTime:int64,totalCount:uint32,users:string[]?} | — | API 参考 · 事件载荷 |
MESSAGE_EXPANSION_CHANGED | {messageId:string,conversationType:ConversationType,targetId:string,updated:Record<string,string>?,removed:string[]?,timestamp:int64} | — | API 参考 · 事件载荷 |
STREAM_MESSAGE_CHANGED | {streamId:string,messageId:string,conversationType:ConversationType,targetId:string,senderId:string,delta:string,seq:uint32,text:string,status:streaming|ended,complete:bool,timestamp:int64} | — | API 参考 · 事件载荷 |
PRESENCE_CHANGED | {userId:string,online:bool,lastSeenAt:int64,timestamp:int64,reason:connect|disconnect|kick|deactivate} | — | API 参考 · 事件载荷 |
FRIEND_EVENT | {kind:FriendEventKind,request?:FriendRequest,fromUserId?:string,toUserId?:string,timestamp:int64} | — | API 参考 · 事件载荷 |
CHATROOM_EVENT | {chatroomId:string,kind:ChatroomEventKind,userId?:string,onlineCount?:uint32,chatroom?:Chatroom,timestamp:int64} | — | API 参考 · 事件载荷 |
KICKED | {code:int,reason:string} | — | API 参考 · 事件载荷 |
枚举与常量索引
枚举取值在 API 参考的「枚举」页逐项列出(名称、取值、语义),错误码另有状态码页。
该平台未导出常量快照;枚举取值以 IDL 语义为准,见 API 参考「枚举」各页。
数据类型索引
公开数据类型分两类:有独立页面的核心结构(消息、会话、群组、内容联合体等),以及只作为参数/返回结构出现的选项与结果对象(字段在对应方法的参数表与返回值中说明)。
| 类型 | 文档位置 |
|---|---|
Chatroom | 数据结构 · Chatroom |
ChatroomMember | 数据结构 · ChatroomMember |
ConnectionStatus | 枚举 · ConnectionStatus |
Conversation | 数据结构 · Conversation |
ConversationType | 枚举 · ConversationType |
Friend | 数据结构 · Friend |
FriendRequest | 数据结构 · FriendRequest |
Group | 数据结构 · Group |
GroupMember | 数据结构 · GroupMember |
GroupType | 枚举 · GroupType |
Message | 数据结构 · Message |
NotificationLevel | 枚举 · NotificationLevel |
UserProfile | 数据结构 · UserProfile |
随方法说明的类型
ChannelType、CombineContent、Config、Content、ConversationRef、ConversationTag、ConversationTagConversation、Conversations、Count、Counts、CurrentUserReacted、GroupId、Groups、IMClient、Id、Ids、Inactive、Indexed、Info、JoinPolicy、Joined、MaxChars、Member、Members、MentionedInfo、MessageReadDetailItem、More、Ms、MsgId、Names、Policy、PushToken、Quote、ReactionSummary、Seq、StreamMessage、SupergroupChannel、Time、Token、Total、Type、Until、Url、UserGroup、Version