IMSDK 主核心类,负责 IMSDK 的初始化、登录、消息收发,建群退群等功能。
|
abstract boolean | initSDK (Context context, int sdkAppID, V2TIMSDKConfig config, V2TIMSDKListener listener) |
|
abstract boolean | unInitSDK () |
|
abstract void | login (String userID, String userSig, V2TIMCallback callback) |
|
abstract void | logout (V2TIMCallback callback) |
|
abstract int | getLoginStatus () |
|
abstract void | addSimpleMsgListener (V2TIMSimpleMsgListener v2TIMSimpleMsgListener) |
|
abstract void | removeSimpleMsgListener (V2TIMSimpleMsgListener v2TIMSimpleMsgListener) |
|
abstract String | sendC2CTextMessage (String text, String userID, V2TIMValueCallback< V2TIMMessage > callback) |
|
abstract String | sendC2CCustomMessage (byte[] customData, String userID, V2TIMValueCallback< V2TIMMessage > callback) |
|
abstract String | sendGroupTextMessage (String text, String groupID, int priority, V2TIMValueCallback< V2TIMMessage > callback) |
|
abstract String | sendGroupCustomMessage (byte[] customData, String groupID, int priority, V2TIMValueCallback< V2TIMMessage > callback) |
|
abstract void | setGroupListener (V2TIMGroupListener listener) |
|
abstract void | createGroup (String groupType, String groupID, String groupName, V2TIMValueCallback< String > callback) |
|
abstract void | joinGroup (String groupID, String message, V2TIMCallback callback) |
|
abstract void | quitGroup (String groupID, final V2TIMCallback callback) |
|
abstract void | dismissGroup (String groupID, final V2TIMCallback callback) |
|
abstract void | getUsersInfo (List< String > userIDList, V2TIMValueCallback< List< V2TIMUserFullInfo >> callback) |
|
abstract void | setSelfInfo (V2TIMUserFullInfo info, V2TIMCallback callback) |
|
◆ initSDK()
初始化
初始化 SDK 需要设置 TIMSdkConfig 信息,TIMSdkConfig 主要包含 sdkAppId 设置、Log 相关逻辑设置、数据库存储路径设置、网络监听设置等, 其中 sdkAppId 的获取请参考官网文档跑通 Demo(Android)。
- 参数
-
context | 上下文 |
sdkAppID | 应用 ID,必填项,可以在控制台中获取 |
config | 配置信息,全局有效,详情请参考 TIMSdkConfig 定义。 |
listener | SDK的回调 |
- 返回
- true:成功;false:失败,如果 context 为空会返回失败
◆ unInitSDK()
abstract boolean unInitSDK |
( |
| ) |
|
|
abstract |
反初始化
- 返回
- true:成功;false:失败,如果有异常会返回失败,但不影响下次初始化
◆ login()
abstract void login |
( |
String |
userID, |
|
|
String |
userSig, |
|
|
V2TIMCallback |
callback |
|
) |
| |
|
abstract |
登录
登录需要设置用户名 UserID 和用户签名 UserSig,UserSig 生成请参 UserSig 后台 API。
- 正常情况下登录在应用的生命周期里执行一次即可,当网络切换或者断网重连时,内部会自动执行上线操作。
- 特殊情况:
- 如果 UserSig 过期,登录会返回 ERR_USER_SIG_EXPIRED:6206 错误码,收到错误码后请生成新的 UserSig 重新登录。
- 如果用户在线情况下被踢,会在 TIMUserConfig 里面配置的 TIMUserStatusListener 监听器获取 onForceOffline 回调,收到回调后可以选择重新登录。
- 如果当前是登录中,则本次登录无效,本次回调不会有任何返回,登录结果会通过第一次登录的回调返回,可以通过 getLoginStatus() 获取登录状态。
- 参数
-
userID | 用户标识 |
userSig | 该用户的userSig |
callback | 登录回调 |
◆ logout()
退出登录
如果切换账号,需要 logout 回调成功或者失败后才能再次 login,否则 login 可能会失败。
- 参数
-
◆ getLoginStatus()
abstract int getLoginStatus |
( |
| ) |
|
|
abstract |
获取登录状态
如果用户已经处于已登录和登录中状态,请勿再频繁调用登录接口登录。
- 返回
- 登录状态
◆ addSimpleMsgListener()
◆ removeSimpleMsgListener()
◆ sendC2CTextMessage()
发送单聊普通文本消息
- 文本消息支持云端的脏词过滤,如果用户发送的消息中有敏感词,回调将会返回 80001 错误码。
- 消息会被封装后传输,封装体后台限制最大长度为 8K,所以消息的内容要小于 8K。
- 参数
-
text | 文本 |
userID | 目标用户 ID |
callback | 回调 |
- 返回
- 返回消息的唯一标识 ID
◆ sendC2CCustomMessage()
发送单聊自定义(信令)消息
- 自定义消息本质就是一段二进制 buffer,您可以在其上自由组织自己的消息格式(常用于发送信令),所以自定义消息不支持云端敏感词过滤。
- 消息会被封装后传输,封装体后台限制最大长度为 8K,所以消息的内容要小于 8K。
- 参数
-
customData | 自定义 byte 数组 |
userID | 目标用户 ID |
callback | 回调 |
- 返回
- 返回消息的唯一标识 ID
◆ sendGroupTextMessage()
发送群聊普通文本消息
- 文本消息支持云端的脏词过滤,如果用户发送的消息中有敏感词,回调将会返回 80001 错误码。
- 消息会被封装后传输,封装体后台限制最大长度为 8K,所以消息的内容要小于 8K。
- 参数
-
text | 文本 |
groupID | 群 ID |
priority | 设置消息的优先级,群消息分为 4 个优先级,如果某个群的消息超过了频率限制,后台会优先下发高优先级的消息。因此可以根据消息的重要程度,来选择合适的优先级。
|
callback | 回调 |
- 返回
- 返回消息的唯一标识 ID
◆ sendGroupCustomMessage()
发送群聊自定义(信令)消息
- 自定义消息本质就是一段二进制 buffer,您可以在其上自由组织自己的消息格式(常用于发送信令),所以自定义消息不支持云端敏感词过滤。
- 消息会被封装后传输,封装体后台限制最大长度为 8K,所以消息的内容要小于 8K。
- 参数
-
customData | 自定义 byte 数组 |
groupID | 群 ID |
priority | 设置消息的优先级,群消息分为 4 个优先级,如果某个群的消息超过了频率限制,后台会优先下发高优先级的消息。因此可以根据消息的重要程度,来选择合适的优先级。
|
callback | 回调 |
- 返回
- 返回消息的唯一标识 ID
◆ setGroupListener()
◆ createGroup()
abstract void createGroup |
( |
String |
groupType, |
|
|
String |
groupID, |
|
|
String |
groupName, |
|
|
V2TIMValueCallback< String > |
callback |
|
) |
| |
|
abstract |
创建群组
- 参数
-
groupType | 群类型,我们为您预定义好了四种常用的群类型,您也可以在控制台定义自己需要的群类型:
- "Work" :工作群,成员上线 500 人,不支持由用户主动加入,需要他人邀请入群,适合用于类似微信中随意组建的工作群(老版本中被成为 Private 群)。
- "Public" :公开群,成员上线 2000 人,任何人都可以申请加群,但加群需群主审批,适合用于类似 QQ 中由群主管理的兴趣群。
- "Meeting" :会议群,成员上线 6000 人,任何人都可以自由进出,且加群无需被审批,适合用于视频会议和在线培训等场景(老版本中被成为 Chatroom 群)。
- "AVChatRoom" :直播群,人数无上限,任何人都可以自由进出,消息吞吐量大,适合用作直播场景中的高并发弹幕聊天室。
|
groupID | 群 ID |
groupName | 群名称 |
callback | 回调 |
◆ joinGroup()
abstract void joinGroup |
( |
String |
groupID, |
|
|
String |
message, |
|
|
V2TIMCallback |
callback |
|
) |
| |
|
abstract |
加入群组
- 参数
-
groupID | 群 ID |
message | 申请消息内容 |
callback | 回调 |
◆ quitGroup()
abstract void quitGroup |
( |
String |
groupID, |
|
|
final V2TIMCallback |
callback |
|
) |
| |
|
abstract |
◆ dismissGroup()
abstract void dismissGroup |
( |
String |
groupID, |
|
|
final V2TIMCallback |
callback |
|
) |
| |
|
abstract |
◆ getUsersInfo()
获取用户资料
- 参数
-
userIDList | 用户 ID 列表
- 获取自己的资料,传入自己的 ID 即可。
- ID 建议一次最大 100 个,因为数量过多可能会导致数据包太大被后台拒绝,后台限制数据包最大为 1M。
|
callback | 回调 |
◆ setSelfInfo()
◆ getInstance()
获取 V2TIMManager 管理器实例。
- 返回
- V2TIMManager 实例
◆ getAdvancedMessageManager()
◆ getAdvancedGroupManager()
◆ getConversationManager()
◆ getFriendshipManager()
◆ getOfflinePushManager()
◆ V2TIM_STATUS_LOGINED
final int V2TIM_STATUS_LOGINED = 1 |
|
static |
◆ V2TIM_STATUS_LOGINING
final int V2TIM_STATUS_LOGINING = 2 |
|
static |
◆ V2TIM_STATUS_LOGOUT
final int V2TIM_STATUS_LOGOUT = 3 |
|
static |