API参考
更新时间: 2024/09/03 14:09:16初始化
获取sdk版本号
+ CRIMClient.getInstance().sdkVersion
- 返回值:版本号字符串
获取当前已登录用户的userID
+ CRIMClient.getInstance().getLoginUserID;
- 返回值:登录用户的userID
初始化SDK
- CRIMClient.getInstance().initSDKWithConfig
-
返回值:初始化结果
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
application | Application | 是 | 上下文 |
platform | int | 是 | 平台类型,如Platform.ANDROID |
apiUrl | String | 是 | sdk服务器地址 |
storageDir | String | 是 | 数据存储目录路径 |
logLevel | int | 是 | 日志等级,如:6 |
isLogStandardOutput | boolean | 是 | 控制台是否输出日志 |
logFilePath | String | 是 | 日志输出的路径 |
isExternalExtensions | boolean | 是 | 消息扩展 |
设置连接监听
- CRIMClient.getInstance().setConnListener
-
返回值:初始化结果
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
listener | OnConnListener | 是 | SDK初始化监听 |
反初始化SDK
- CRIMClient.getInstance().unInitSDK
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
operationID | String | 是 | 操作ID |
- 返回值:无
添加消息监听
- CRIMClient.getInstance().messageManager.setAdvancedMsgListener
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
listener | OnAdvanceMsgListener | 是 | 监听者 |
- 返回值:无
设置好友关系监听器
- CRIMClient.getInstance().friendshipManager.setOnFriendshipListener
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
listener | OnFriendshipListener | 是 | 监听者 |
- 返回值:无
设置会话监听器
- CRIMClient.getInstance().conversationManager.setOnConversationListener
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
listener | OnConversationListener | 是 | 监听者 |
- 返回值:无
设置组监听器
- CRIMClient.getInstance().groupManager.setOnGroupListener
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
listener | OnGrpListener | 是 | 监听者 |
- 返回值:无
设置心跳间隔
- CRIMClient.getInstance().setHeartbeatInterval;
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
heartbeatInterval | long | 是 | 心跳间隔 |
登录
使用appId登录
- CRIMClient.getInstance().login
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<String> | 是 | 回调 |
userID | String | 是 | 用户ID userID来自于自身业务服务器 |
appId | String | 是 | APP ID 可在管理后台,【项目管理】获取 |
appSecret | String | 是 | APP Secret 可在管理后台,【项目管理】获取,MD5后的值 |
使用token登录
- CRIMClient.getInstance().login
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<String> | 是 | 回调 |
userID | String | 是 | 用户ID userID来自于自身业务服务器 |
token | String | 是 | token生成器返回的token |
获取登录状态
- CRIMClient.getInstance().getLoginStatus;
- 返回值:登录状态: 1:Logout, 2:Logging, 3:Logged
登出
- CRIMClient.getInstance().logout;
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<String> | 否 | 操作的回调 |
用户
根据userID批量查询用户信息
- CRIMClient.getInstance().userInfoManager.getUsersInfo(OnBase<List<UserInfo>> base, List<String> uidList)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
uidList | List |
是 | 用户id列表 |
base | OnBase<List<UserInfo>> | 否 | 操作成功的回调 |
修改当前登录用户信息
- CRIMClient.getInstance().userInfoManager.setSelfInfo(OnBase<String> base, String nickname, String faceURL, int gender, int appMangerLevel, String phoneNumber, long birth, String email, String ex)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
nickname | String | 是 | 名字 |
faceURL | String | 是 | 头像 |
gender | String | 是 | 性别 |
phoneNumber | String | 是 | 手机号 |
birth | String | 是 | 出生日期 |
String | 是 | 邮箱 | |
ex | String | 是 | 额外信息 |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
获取当前登录用户信息
- CRIMClient.getInstance().userInfoManager.getSelfInfo(OnBase<UserInfo> base)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<UserInfo> | 否 | 操作的回调 |
订阅指定用户的在线状态
调用订阅用户的在线状态接口,可以订阅用户的在线状态,触发订阅者的onUserStatusChanged回调。
- CRIMClient.getInstance().userInfoManager.subscribeUsersStatus
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
userID | String | 是 | 用户ID |
base | OnBase<UserInfo> | 否 | 操作的回调 |
取消订阅用户的在线状态
- CRIMClient.getInstance().unsubscribeUsersStatus
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
userID | String | 是 | 用户ID |
base | OnBase<UserInfo> | 否 | 操作的回调 |
获取所有已订阅用户的在线状态
- CRIMClient.getInstance().getSubscribeUsersStatus
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<UserInfo> | 否 | 操作的回调 |
获取指定用户的在线状态
- CRIMClient.getInstance().getUserStatus
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
userID | String | 是 | 用户ID |
base | OnBase<UserInfo> | 否 | 操作的回调 |
会话
获取会话列表
- CRIMClient.getInstance().conversationManager.getAllConversationList(OnBase<List<ConversationInfo>> base)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<List<ConversationInfo>> | 否 | 操作成功的回调 |
分页获取会话列表
- CRIMClient.getInstance().conversationManager.getConversationListSplit(OnBase<List<ConversationInfo>> base, long offset, long count)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
offset | long | 是 | 起始偏移量 |
count | long | 是 | 拉取会话的数量 |
base | OnBase<List<ConversationInfo>> | 否 | 操作的回调 |
获取一个会话
如果不存在会自动创建
- CRIMClient.getInstance().conversationManager.getOneConversation(OnBase<ConversationInfo> base, String sourceId, int sessionType)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
sessionType | int | 是 | 会话的类型 |
sourceID | String | 是 | 单聊为用户ID,群聊为群ID |
base | OnBase<ConversationInfo> | 否 | 操作成功的回调 |
获取多个会话列表
- CRIMClient.getInstance().conversationManager.getMultipleConversation(OnBase<List<ConversationInfo>> base, List<String> conversationIDs)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationIDs | List |
是 | 会话ID的列表 |
base | OnBase<List<ConversationInfo>> | 否 | 操作成功的回调 |
本地删除一个会话
- CRIMClient.getInstance().conversationManager.deleteConversationAndDeleteAllMsg(OnBase<String> base, String conversionID)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
base | OnBase<String> | 否 | 操作成功的回调 |
清空一个会话
本地 & 服务器
- CRIMClient.getInstance().conversationManager.clearConversationAndDeleteAllMsg(OnBase<String> base, String conversionID)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
base | OnBase<String> | 否 | 操作成功的回调 |
相关回调请参考:
设置会话的草稿
- CRIMClient.getInstance().setConversationDraft
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
draftText | String | 是 | 草稿文本,如果为""则为删除草稿 |
base | OnBase<String> | 否 | 操作成功的回调 |
置顶会话
- CRIMClient.getInstance().conversationManager.pinConversation(OnBase<String> base, String conversationID, boolean isPinned)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
isPinned | boolean | 是 | 为YES时,代表置顶会话,为NO时代表取消置顶 |
base | OnBase<String> | 否 | 操作成功的回调 |
相关回调请参考:
获取总的消息未读数
- CRIMClient.getInstance().conversationManager.getTotalUnreadMsgCount
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<String> | 否 | 操作的回调 |
获取会话免打扰状态
- CRIMClient.getInstance().conversationManager.getConversationRecvMsgOpt(OnBase<List<NotDisturbInfo>> base, List<String> conversationIDs)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationIDs | List<String> | 是 | 会话ID列表 |
base | OnBase<List<NotDisturbInfo>> | 否 | 操作成功的回调 |
设置会话免打扰状态
- CRIMClient.getInstance().conversationManager.setConversationRecvMsgOpt(OnBase<String> base, String conversationID, long status)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
status | long | 是 | 免打扰状态 |
base | OnBase<String> | 否 | 操作成功的回调 |
相关回调请参考:
设置私聊
可做“阅后即焚”功能
- CRIMClient.getInstance().conversationManager.setConversationPrivateChat(OnBase<String> base, String conversionID, boolean isPrivate)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
isPrivate | boolean | 是 | 是否为私聊 |
base | OnBase<String> | 否 | 操作成功的回调 |
相关回调请参考:
设置私聊时间
可做“阅后即焚”时间设置功能
- CRIMClient.getInstance().conversationManager.setConversationBurnDuration(OnBase<String> base, String conversationID, int burnDuration)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
burnDuration | int | 是 | 阅后即焚时间间隔 |
base | OnBase<String> | 否 | 操作成功的回调 |
相关回调请参考:
重置at标准位
- CRIMClient.getInstance().conversationManager.resetConversationGrpAtType
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
base | OnBase<String> | 否 | 操作成功的回调 |
隐藏指定会话
不删除聊天记录;如果有新消息到达,会话会再次出现。
- CRIMClient.getInstance().conversationManager.hideConversation(OnBase<String> base, String conversationID)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
base | OnBase<String> | 否 | 操作的回调 |
隐藏所有会话
不删除聊天记录;如果有新消息到达,会话会再次出现。
- CRIMClient.getInstance().conversationManager.hideAllConversations(OnBase<String> base)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<String> | 否 | 操作的回调 |
全局设置消息提示
- CRIMClient.getInstance().conversationManager.setGlobalRecvMsgOpt
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
status | int | 是 | 状态 1:屏蔽消息; 2:接收消息但不提示; 0:正常 |
base | OnBase<String> | 否 | 操作的回调 |
好友
添加好友
- CRIMClient.getInstance().friendshipManager.addFriend(OnBase<String> base, String userID, String reqMessage)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
userID | String | 是 | 对方userID |
reqMessage | String | 否 | 请求消息 |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
获取收到的好友申请
既哪些人申请加我为好友
- CRIMClient.getInstance().friendshipManager.getFriendReqListAsRecipient(OnBase<List<FriendReqInfo>> base)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<List<FriendReqInfo>> | 否 | 操作的回调 |
发出的好友申请
- CRIMClient.getInstance().friendshipManager.getFriendReqListAsApplicant(OnBase<List<FriendReqInfo>> base)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<List<FriendReqInfo>> | 否 | 操作的回调 |
同意某人的好友申请
- CRIMClient.getInstance().friendshipManager.acceptFriendReq(OnBase<String> base, String userID, String handleMsg)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
userID | String | 是 | 用户id |
handleMsg | String | 是 | 消息 |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
拒绝好友申请
- CRIMClient.getInstance().friendshipManager.refuseFriendReq( OnBase<String> base, String userID, String msg)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
userID | String | 是 | 用户id |
msg | String | 是 | 消息 |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
加入黑名单
- CRIMClient.getInstance().friendshipManager.addToBlacklist(OnBase<String> base, String userID)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
userID | String | 是 | 用户id |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
获取黑名单
- CRIMClient.getInstance().friendshipManager.getBlackList(OnBase<List<UserInfo>> base)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<List<UserInfo>> | 否 | 操作的回调 |
移除黑名单
- CRIMClient.getInstance().friendshipManager.removeFromBlacklist(OnBase<String> base, String userID)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
userID | String | 是 | 用户id |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
获取指定好友列表的相关信息
- CRIMClient.getInstance().friendshipManager.getSpecifiedFriendsInfo(OnBase<List<UserInfo>> base, List<String> uidList)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
uidList | String | 是 | 用户id列表 |
base | OnBase<List<UserInfo>> | 否 | 操作的回调 |
获取所有好友的相关信息
- CRIMClient getInstance().friendshipManager.getFriendList(OnBase<List<UserInfo>> base)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<List<UserInfo>> | 否 | 操作的回调 |
检查是否好友关系
即是否在登录用户的好友列表中。注意:好友是双向关系。result为1表示好友(并且不是黑名单)
- CRIMClient.getInstance().friendshipManager.checkFriend(OnBase<List<FriendshipInfo>> base, List<String> uidList)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
uidList | List<String> | 是 | userID列表 |
base | OnBase<List<FriendshipInfo>> | 否 | 操作的回调 |
设置好友备注
- CRIMClient.getInstance().friendshipManager.setFriendRemark(OnBase<String> base, String userID, String remark)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
userID | String | 是 | 用户id |
remark | String | 否 | 备注信息 |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
删除好友
好友是双向关系,此函数仅仅删除自己的好友
- CRIMClient.getInstance().friendshipManager.deleteFriend(OnBase<String> base, String friendUserID)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
friendUserID | String | 是 | 好友ID |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
本地搜索好友
- CRIMClient.getInstance().friendshipManager.searchFriends(OnBase<List<FriendInfo>> base, List<String> keywordList, boolean isSearchUserID, boolean isSearchNickname, boolean isSearchRemark)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
keywordList | List<String> | 是 | 搜索好友结构体 |
isSearchUserID | boolean | 是 | 是否以关键词搜索好友ID |
isSearchNickname | boolean | 是 | 是否以关键词搜索昵称 |
isSearchRemark | boolean | 是 | 是否以关键词搜索备注名 |
base | OnBase<List<FriendshipInfo>> | 否 | 操作的回调 |
群组
创建群
- CRIMClient.getInstance().groupManager.createGrp(List<String> memberUserIDs, List<String> adminUserIDs,GrpInfo groupInfo, String ownerUserID, OnBase<GrpInfo> callBack)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
memberUserIDs | List<String> | 是 | 初始化群成员ID列表 |
adminUserIDs | List<String> | 是 | 管理用户用户ID列表 |
callBack | OnBase | 否 | 操作的回调 |
groupInfo | GrpInfo<GrpInfo> | 是 | 组信息列表 |
ownerUserID | String | 是 | 群主ID |
相关回调请参考:
申请加入群组
- CRIMClient.getInstance().groupManager.joinGrp
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群组ID |
reqMsg | String | 否 | 进群申请消息 |
joinSource | String | 是 | 进群方式 |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
退群
- CRIMClient.getInstance().groupManager.quitGrp(OnBase<String> base, String groupID)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群ID |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
获取已加入的群列表
- CRIMClient.getInstance().groupManager.getJoinedGrpList
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<List<GrpInfo>> | 否 | 操作的回调 |
获取指定群资料
获取指定群的资料,支持批量获取。
- CRIMClient.getInstance().groupManager.getSpecifiedGrpsInfo(OnBase<List<GrpInfo>> base, List<String> groupsID)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupsID | List<String> | 是 | 群ID集合 |
base | OnBase<List<GrpInfo>> | 否 | 操作的回调 |
更新群资料
更新群头像、群名称、群公告、群简介等群资料,仅群主和管理员有权限。
- CRIMClient.getInstance().groupManager.setGrpInfo(GrpInfo groupInfo, OnBase<String> callBack)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupInfo | GrpInfo | 是 | 群信息结构体 |
callBack | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
获取群成员列表
- CRIMClient.getInstance().groupManager.getGrpMemberList(OnBase<List<GroupMembersInfo>> base, String groupId, int filter, int offset, int count)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群组ID |
filter | int | 是 | 过滤成员,0不过滤,1群的创建者,2管理员;默认值0 |
offset | int | 是 | 起始偏移 |
count | int | 是 | 成员个数 |
base | OnBase<List<GroupMembersInfo>> | 否 | 操作的回调 |
获取群内指定群成员信息
获取群内指定的群成员信息,仅本群成员可调用。
- CRIMClient.getInstance().groupManager.getSpecifiedGrpMembersInfo(OnBase<List<GroupMembersInfo>> base, String groupId, List<String> uidList)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群组ID |
userIDs | List<String> | 是 | 群成员ID |
base | OnBase<List<GroupMembersInfo>> | 否 | 操作的回调 |
踢出群
- CRIMClient.getInstance().groupManager.kickGrpMember(OnBase<String> base, String groupId, List<String> uidList, String reason)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群组ID |
reason | String | 否 | 说明 |
uidList | List<String> | 是 | 被要踢出群的用户id列表 |
base | OnBase |
否 | 操作的回调 |
相关回调请参考:
转让群主
只有群主能操作
- CRIMClient.getInstance().groupManager.transferGrpOwner(OnBase<String> base, String groupID, String uid)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群组ID |
uid | String | 是 | 新群主用户ID |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
邀请入群
群组成员可邀请其他用户加入群组,无须对方同意,支持批量邀请。
- CRIMClient.getInstance().groupManager.inviteUserToGrp(OnBase<String> base, String groupId, List<String> userIDs, String reason)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群组ID |
reason | String | 是 | 邀请说明 |
userIDs | List<String> | 是 | 被邀请用户id列表 |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
获取收到的群成员申请进群列表
作为群主或者管理员可操作
- CRIMClient.getInstance().groupManager.getGrpReqListAsRecipient
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<List<GrpReqInfo>> | 否 | 操作的回调 |
发出的入群申请
- CRIMClient.getInstance().groupManager.getGrpReqListAsApplicant(OnBase<List<GrpReqInfo>> base)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<List<GrpReqInfo>> | 否 | 操作的回调 |
同意某人进入某群
管理员或者群主操作
- CRIMClient.getInstance().groupManager.acceptGrpReq(OnBase<String> base, String groupID, String fromUserID, String handleMsg)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群ID |
fromUserID | String | 是 | 申请进群的用户ID |
handleMsg | String | 否 | 处理的消息 |
base | OnBase<String> | 否 | 操作的回调 |
拒绝某人进入某群
管理员或者群主操作
- CRIMClient.getInstance().groupManager.refuseGrpReq(OnBase<String> base, String groupID, String fromUserID, String handleMsg)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群ID |
fromUserID | String | 是 | 申请进群的用户ID |
handleMsg | String | 否 | 处理的消息 |
base | OnBase<String> | 否 | 操作的回调 |
解散群
- CRIMClient.getInstance().groupManager.dismissGrp(OnBase<String> base, String groupID)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群ID |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
禁言群成员
- CRIMClient.getInstance().groupManager.changeGrpMemberMute(OnBase<String> base, String groupID, String userID, long seconds)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群组ID |
userID | String | 是 | 用户ID |
mutedSeconds | long | 是 | 禁言时间,为0时取消禁言 |
base | OnBase<String> | 否 | 操作的回调 |
设置群禁言状态
群主或管理员可以设置群禁言状态,禁言后仅群主和管理员可以发言。
- CRIMClient.getInstance().groupManager.changeGrpMute(onbase,groupID,isMute);
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群ID |
isMute | boolean | 是 | 是否禁言 |
onbase | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
搜索群
通过群名称或者群ID
- CRIMClient.getInstance().groupManager.searchGrps
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
keywordList | List<String> | 是 | 关键词 |
isSearchGroupID | boolean | 是 | 是通过群组id进行查询 |
isSearchGroupName | boolean | 是 | 是通过群名称查询 |
base | OnBase<List<GrpInfo>> | 否 | 操作的回调 |
设置群成员昵称
群主可以修改管理员和普通成员的昵称,管理员可以修改普通成员的昵称。
- CRIMClient.getInstance().groupManager.setGrpMemberNickname(OnBase<String> base, String groupID, String userID, String groupNickname)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群ID |
userID | String | 是 | 用户ID |
groupNickname | String | 否 | 昵称 |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
修改群成员身份
群主可以修改管理员和普通成员的身份,管理员可以修改普通成员的身份。
- CRIMClient.getInstance().groupManager.setGrpMemberRoleLevel(OnBase<String> base, String groupID, String userID, long roleLevel)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群ID |
userID | String | 是 | 用户ID |
roleLevel | long | 是 | 成员身份 |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
根据加入时间分页获取组成员列表
- CRIMClient.getInstance().groupManager.getGrpMemberListByJoinTimeFilter
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群ID |
offset | int | 是 | 开始下标 |
count | int | 是 | 总数 |
joinTimeBegin | long | 是 | 加入开始时间 |
joinTimeEnd | long | 是 | 加入结束时间 |
filterUserIDList | List<String> | 是 | 用户ID列表 |
base | OnBase<List<GroupMembersInfo>> | 否 | 操作的回调 |
进群验证设置选项
- CRIMClient.getInstance().groupManager.setGrpVerification(OnBase<String> base, String groupID, int needVerification)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群ID |
needVerification | int | 是 | 进群设置 |
base | OnBase<String> | 否 | 操作的回调 |
获取管理者和拥有者
- CRIMClient.getInstance().groupManager.getGrpMemberOwnerAndAdmin
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群ID |
base | OnBase<List<GroupMembersInfo>> | 否 | 操作的回调 |
群成员之间是否可添加好友
- CRIMClient.getInstance().groupManager.setGrpApplyMemberFriend:
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群ID |
status | int | 是 | 0: 默认可行 1: 不可行 |
base | OnBase<String> | 否 | 操作的回调 |
设置能否查看群成员信息
- CRIMClient.getInstance().groupManager.setGrpLookMemberInfo:
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群ID |
status | int | 是 | 0: 默认可行 1: 不可行 |
base | OnBase<String> | 否 | 操作的回调 |
搜索群成员
- CRIMClient.getInstance().groupManager.searchGrpMembers(OnBase<List<GroupMembersInfo>> base, String groupID, List<String> keywordList, boolean isSearchUserID,boolean isSearchMemberNickname, int offset, int count)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
groupID | String | 是 | 群id |
keywordList | List<String> | 是 | 关键词 |
isSearchUserID | boolean | 是 | 是否以关键词搜成员id |
isSearchMemberNickname | boolean | 是 | 是否以关键词搜索成员昵称 |
offset | int | 是 | 开始index |
count | int | 是 | 数量 |
base | OnBase<List<GroupMembersInfo>> | 否 | 操作的回调 |
消息
发送消息
- CRIMClient.getInstance().messageManager.sendMsg(OnMsgSendCallback base, Message message, String recvUid, String recvGid, OfflinePushInfo offlinePushInfo)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnMsgSendCallback | 否 | 操作回调 |
message | Message | 是 | 消息体 |
recvUid | String | 否 | 接受者用户id |
recvGid | String | 否 | 群id |
offlinePushInfo | OfflinePushInfo | 否 | 离线推送内容 |
创建文本消息
- CRIMClient.getInstance().messageManager.createTextMsg(String text)
-
返回值:Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
text | String | 是 | 内容 |
创建@文本消息
+ CRIMClient.getInstance().messageManager.createTextAtMsg
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
text | String | 是 | 内容 |
atuserIDs | List<String> | 是 | 用户id列表 |
atUsersInfo | List<AtUserInfo> | 是 | 用户在群内的信息 |
message | Message | 否 | 引用消息的时候使用 |
通过本地图片路径创建图片消息
使用此接口可文件路径参数需用绝对路径
- CRIMClient.getInstance().messageManager.createImageMsgFromFullPath(String imagePath)
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
imagePath | String | 是 | 绝对路径 |
通过图片URL创建图片消息
例如:自行上传的文件,然后使用返回的url构造消息
- CRIMClient.getInstance().messageManager.createImageMsgByURL(PictureInfo sourcePicture, PictureInfo bigPicture, PictureInfo snapshotPicture)
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
sourcePicture | PictureInfo | 是 | 音频文件信息 |
bigPicture | PictureInfo | 是 | 大图信息 |
snapshotPicture | PictureInfo | 是 | 缩略图信息 |
通过本地音频路径创建音频消息
使用此接口可文件路径参数需用绝对路径
+ CRIMClient.getInstance().messageManager.createSoundMsgFromFullPath
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
soundPath | String | 是 | 绝对路径 |
duration | int | 是 | 时长 |
通过音频URL创建音频消息
例如:自行上传的文件,然后使用返回的url构造消息
+ CRIMClient.getInstance().messageManager.createSoundMsgByURL
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
soundElem | SoundElem | 是 | 音频参数结构体 |
通过本地视频路径创建视频消息
使用此接口可文件路径参数需用绝对路径
+ CRIMClient.getInstance().messageManager.createVideoMsgFromFullPath
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
videoPath | String | 是 | 视频绝对路径 |
videoType | String | 是 | mine type |
duration | int | 是 | 时长 |
snapshotPath | String | 是 | 缩略图绝对路径 |
通过视频URL创建视频消息
例如:自行上传的文件,然后使用返回的url构造消息
+ CRIMClient.getInstance().messageManager.createVideoMsgByURL
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
videoElem | VideoElem | 是 | 视频参数结构体 |
通过本地文件路径创建文件消息
使用此接口可文件路径参数需用绝对路径
+ CRIMClient.getInstance().messageManager.createFileMsgFromFullPath
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
filePath | String | 是 | 文件本地的绝对路径 |
fileName | String | 是 | 文件名 |
通过文件URL创建文件消息
例如:自行上传的文件,然后使用返回的url构造消息
+ CRIMClient.getInstance().messageManager.createFileMsgByURL
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
fileElem | FileElem | 是 | 文件参数结构体 |
创建合并消息
- CRIMClient.getInstance().messageManager.createMergerMsg(List<Message> messageList, String title, List<String> summaryList)
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
messageList | List<Message> | 是 | 消息列表 |
title | String | 是 | 标题 |
summaryList | List<Message> | 是 | 摘要 |
创建转发消息
- CRIMClient.getInstance().messageManager.createForwardMsg(Message message)
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
message | Message | 是 | 消息 |
创建位置消息
- CRIMClient.etInstance().messageManager.createLocationMsg(double latitude, double longitude, String description)
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
description | String | 是 | 描述消息 |
latitude | double | 是 | 经度 |
longitude | double | 是 | 纬度 |
创建引用消息
+ CRIMClient.getInstance().messageManager.createQuoteMsg(String text, Message message)
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
text | String | 是 | 内容 |
message | Message | 是 | 被引用的消息体 |
创建名片消息
+ CRIMClient.getInstance().messageManager.createCardMsg
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
cardElem | CardElem | 是 | 内容结构体 |
创建自定义消息
- CRIMClient.getInstance().messageManager.createCustomMsg(String data, String extension)
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
data | String | 是 | 文本内容,json字符串 |
extension | String | 否 | 扩展内容,json字符串 |
创建动图消息
+ CRIMClient.getInstance().messageManager.createFaceMsgWithIndex
-
返回值:消息结构体Message
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
index | long | 是 | 下标 |
dataStr | String | 是 | 内容 |
发送消息
发送消息需要先构造消息实例,支持构造的消息类型有普通文本、图片、视频、文件、音频、地理位置、引用、转发、@xxx等消息,构造完消息后调用SDK的发送接口即可完成消息的发送
- CRIMClient.getInstance().messageManager.sendMsg
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
message | Message | 是 | 消息体为通过Create...Message创建的Message |
recvID | String | 否 | 单聊的用户ID,如果为群聊则为"" |
recvGid | String | 否 | 群聊的群ID,如果为单聊则为"" |
offlinePushInfo | OfflinePushInfo | 否 | 离线推送的消息为OfflinePushInfo |
base | MsgCallback | 否 | 操作的回调 |
撤回一条消息
- CRIMClient.getInstance().messageManager.revokeMsg(OnBase<String> callBack, String conversationID, String clientMsgID)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
clientMsgID | String | 是 | 消息ID |
callBack | OnBase |
否 | 操作的回调 |
相关回调请参考:
单聊正在输入消息
- CRIMClient.getInstance().messageManager.typingStatusUpdate
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
recvID | String | 是 | 接收者的ID |
msgTip | String | 是 | 自定义的提示信息 |
base | OnBase<String> | 否 | 操作的回调 |
标记消息已读
调用标记已读接口,可以把消息标记为已读,如果是单聊会话内的消息,还会给消息的发送方发送已读回执,触发发送方的onRecv1v1ReadReceipt回调。
- CRIMClient getInstance()..messageManager.markMsgAsReadByMsgID(String conversationID, List<String> clientMsgIDs, OnBase<String> callBack)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
clientMsgIDs | List<String> | 是 | 消息ID列表 |
callBack | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
从本地删除一条消息
- CRIMClient.getInstance().messageManager.deleteMsgFromLocalStorage(String conversationID, String clientMsgID, OnBase<String> callBack)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
clientMsgID | String | 是 | 消息ID |
OnBase | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
删除一条消息
本地 & 服务器
- CRIMClient.getInstance().messageManager.deleteMsg(String conversationID, String clientMsgID, OnBase<String> callBack)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
clientMsgID | String | 是 | 消息ID |
callBack | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
从本地删除所有消息
- CRIMClient.getInstance().messageManager.deleteAllMsgFromLocal(OnBase<String> base);
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<String> | 否 | 操作的回调 |
删除所有消息
本地 & 服务器
- CRIMClient.getInstance().messageManager.deleteAllMsgFromLocalAndSvr(OnBase<String> base)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
插入一条单聊消息到本地
- CRIMClient.getInstance().messageManager.insertSingleMsgToLocalStorage(OnBase<String> base, Message message, String receiver, String sender)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
message | Message | 是 | 消息体 |
recvID | String | 是 | 接收用户ID |
sendID | String | 是 | 发送者ID |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
插入一条群聊消息到本地
- CRIMClient.getInstance().messageManager.insertGrpMsgToLocalStorage(OnBase<String> base, Message message, String groupID, String senderID)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
message | Message | 是 | 消息体 |
groupID | String | 否 | 群ID |
sendID | String | 否 | 发送者ID |
base | OnBase<String> | 否 | 操作的回调 |
相关回调请参考:
查找本地消息
- CRIMClient.getInstance().messageManager.searchLocalMsgs(OnBase<SearchResult> base,
String conversationID,
List<String> keywordList,
int keywordListMatchType,
List<String> senderUserIDList,
List<Integer> messageTypeList,
int searchTimePosition,
int searchTimePeriod,
int pageIndex,
int count)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
base | OnBase<SearchResult> | 否 | 操作的回调 |
conversationID | String | 是 | 会话ID |
keywordList | List<String> | 是 | 搜索关键词列表 |
keywordListMatchType | int | 是 | 关键词匹配模式,1代表与,2代表或,暂时未用 |
senderUserIDList | List<String> | 否 | 指定消息发送的uid列表 |
messageTypeList | List<String> | 是 | 消息类型列表 |
searchTimePosition | int | 是 | 搜索的起始时间点 |
searchTimePeriod | int | 是 | 当前页数,单位秒。 |
pageIndex | int | 是 | 操作的回调 |
count | int | 是 | 每页数量 |
独立上传文件到初始化sdk的storageDir
发送多媒体消息不需调用此函数,其在sdk内部自动上传
- CRIMClient.getInstance().uploadFile
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
putArgs | PutArgs | 是 | 实体参数 |
listener | OnPutFileListener | 否 | 进度监听 |
base | OnBase<String> | 否 | 操作的回调 |
获取历史消息
从最新一条消息开始获取会话中的历史聊天记录。
CRIMClient.getInstance().messageManager.getAdvancedHistoryMsgList(OnBase<AdvancedMsg> callBack, String conversationID, Message startMsg, int count)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
callBack | OnBase<AdvancedMsg> | 是 | 操作结果回调 |
conversationID | String | 是 | 会话id |
startMsg | Message | 是 | 从startMsg开始拉取消息 |
count | int | 是 | 一次拉取count条 |
反向获取历史消息
反向获取会话中的历史聊天记录,可用于定位消息上下文时后向下拉取历史消息。
- CRIMClient.getInstance().messageManager.getAdvancedHistoryMsgListReverse(OnBase<AdvancedMsg> callBack, String conversationID, Message startMsg, int count)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
callBack | OnBase<AdvancedMsg> | 是 | 操作结果回调 |
conversationID | String | 是 | 会话id |
startMsg | Message | 是 | 从startMsg开始拉取消息 |
count | int | 是 | 一次拉取count条 |
设置角标
告知服务器 客户端现有的数量
- CRIMClient.getInstance().messageManager.setAppBadge:
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
count | int | 是 | 角标数 |
base | OnBase<String> | 否 | 操作的回调 |
清空未读数
调用标记已读接口,可以把会话内的消息标记为已读,对于群聊和通知会话,调用该接口可以清除未读计数,对于单聊会话,不仅会清除未读计数,还会给消息的发送方发送已读回执,触发发送方的onRecv1v1ReadReceipt回调。
- CRIMClient.getInstance().messageManager.markConversationMsgAsRead(String conversationID, OnBase<String> callback)
-
返回值:无
-
参数:
参数 | 类型 | 必传 | 含义 |
---|---|---|---|
conversationID | String | 是 | 会话ID |
callback | OnBase<String> | 否 | 操作的回调 |
相关回调请参考: