IMSDK
即时通信 IM 提供全球接入、单聊、群聊、消息推送、资料关系链托管、帐号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口。
V2TIMManagerabstract

详细描述

IMSDK 主核心类,负责 IMSDK 的初始化、登录、消息收发,建群退群等功能。

Public 成员函数

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)
 

静态 Public 成员函数

static V2TIMManager getInstance ()
 
static V2TIMAdvancedMessageManager getAdvancedMessageManager ()
 
static V2TIMAdvancedGroupManager getAdvancedGroupManager ()
 
static V2TIMConversationManager getConversationManager ()
 
static V2TIMFriendshipManager getFriendshipManager ()
 
static V2TIMOfflinePushManager getOfflinePushManager ()
 

静态 Public 属性

static final int V2TIM_STATUS_LOGINED = 1
 
static final int V2TIM_STATUS_LOGINING = 2
 
static final int V2TIM_STATUS_LOGOUT = 3
 

成员函数说明

◆ initSDK()

abstract boolean initSDK ( Context  context,
int  sdkAppID,
V2TIMSDKConfig  config,
V2TIMSDKListener  listener 
)
abstract

初始化

初始化 SDK 需要设置 TIMSdkConfig 信息,TIMSdkConfig 主要包含 sdkAppId 设置、Log 相关逻辑设置、数据库存储路径设置、网络监听设置等, 其中 sdkAppId 的获取请参考官网文档跑通 Demo(Android)

参数
context上下文
sdkAppID应用 ID,必填项,可以在控制台中获取
config配置信息,全局有效,详情请参考 TIMSdkConfig 定义。
listenerSDK的回调
返回
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()

abstract void logout ( V2TIMCallback  callback)
abstract

退出登录

如果切换账号,需要 logout 回调成功或者失败后才能再次 login,否则 login 可能会失败。

参数
callback登出回调

◆ getLoginStatus()

abstract int getLoginStatus ( )
abstract

获取登录状态

如果用户已经处于已登录和登录中状态,请勿再频繁调用登录接口登录。

返回
登录状态

◆ addSimpleMsgListener()

abstract void addSimpleMsgListener ( V2TIMSimpleMsgListener  v2TIMSimpleMsgListener)
abstract

设置基本消息(文本消息和自定义消息)的事件监听器

图片消息、视频消息、语音消息等 高级消息 的监听,请参考: V2TIMAdvancedMessageManager.addAdvancedMsgListener(V2TIMAdvancedMsgListener)

◆ removeSimpleMsgListener()

abstract void removeSimpleMsgListener ( V2TIMSimpleMsgListener  v2TIMSimpleMsgListener)
abstract

移除基本消息的事件监听器

参数
v2TIMSimpleMsgListener

◆ sendC2CTextMessage()

abstract String sendC2CTextMessage ( String  text,
String  userID,
V2TIMValueCallback< V2TIMMessage callback 
)
abstract

发送单聊普通文本消息

  • 文本消息支持云端的脏词过滤,如果用户发送的消息中有敏感词,回调将会返回 80001 错误码。
  • 消息会被封装后传输,封装体后台限制最大长度为 8K,所以消息的内容要小于 8K。
参数
text文本
userID目标用户 ID
callback回调
返回
返回消息的唯一标识 ID

◆ sendC2CCustomMessage()

abstract String sendC2CCustomMessage ( byte[]  customData,
String  userID,
V2TIMValueCallback< V2TIMMessage callback 
)
abstract

发送单聊自定义(信令)消息

  • 自定义消息本质就是一段二进制 buffer,您可以在其上自由组织自己的消息格式(常用于发送信令),所以自定义消息不支持云端敏感词过滤。
  • 消息会被封装后传输,封装体后台限制最大长度为 8K,所以消息的内容要小于 8K。
参数
customData自定义 byte 数组
userID目标用户 ID
callback回调
返回
返回消息的唯一标识 ID

◆ sendGroupTextMessage()

abstract String sendGroupTextMessage ( String  text,
String  groupID,
int  priority,
V2TIMValueCallback< V2TIMMessage callback 
)
abstract

发送群聊普通文本消息

  • 文本消息支持云端的脏词过滤,如果用户发送的消息中有敏感词,回调将会返回 80001 错误码。
  • 消息会被封装后传输,封装体后台限制最大长度为 8K,所以消息的内容要小于 8K。
参数
text文本
groupID群 ID
priority设置消息的优先级,群消息分为 4 个优先级,如果某个群的消息超过了频率限制,后台会优先下发高优先级的消息。因此可以根据消息的重要程度,来选择合适的优先级。
callback回调
返回
返回消息的唯一标识 ID

◆ sendGroupCustomMessage()

abstract String sendGroupCustomMessage ( byte[]  customData,
String  groupID,
int  priority,
V2TIMValueCallback< V2TIMMessage callback 
)
abstract

发送群聊自定义(信令)消息

  • 自定义消息本质就是一段二进制 buffer,您可以在其上自由组织自己的消息格式(常用于发送信令),所以自定义消息不支持云端敏感词过滤。
  • 消息会被封装后传输,封装体后台限制最大长度为 8K,所以消息的内容要小于 8K。
参数
customData自定义 byte 数组
groupID群 ID
priority设置消息的优先级,群消息分为 4 个优先级,如果某个群的消息超过了频率限制,后台会优先下发高优先级的消息。因此可以根据消息的重要程度,来选择合适的优先级。
callback回调
返回
返回消息的唯一标识 ID

◆ setGroupListener()

abstract void setGroupListener ( V2TIMGroupListener  listener)
abstract

设置群组监听器

参数
listener

◆ 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

退出群组

参数
groupID群 ID
callback回调

◆ dismissGroup()

abstract void dismissGroup ( String  groupID,
final V2TIMCallback  callback 
)
abstract

解散群组

参数
groupID群 ID
callback回调

◆ getUsersInfo()

abstract void getUsersInfo ( List< String >  userIDList,
V2TIMValueCallback< List< V2TIMUserFullInfo >>  callback 
)
abstract

获取用户资料

参数
userIDList用户 ID 列表
  • 获取自己的资料,传入自己的 ID 即可。
  • ID 建议一次最大 100 个,因为数量过多可能会导致数据包太大被后台拒绝,后台限制数据包最大为 1M。
callback回调

◆ setSelfInfo()

abstract void setSelfInfo ( V2TIMUserFullInfo  info,
V2TIMCallback  callback 
)
abstract

修改个人资料

参数
info修改的资料
callback回调

◆ getInstance()

static V2TIMManager getInstance ( )
inlinestatic

获取 V2TIMManager 管理器实例。

返回
V2TIMManager 实例

◆ getAdvancedMessageManager()

static V2TIMAdvancedMessageManager getAdvancedMessageManager ( )
inlinestatic

高级消息功能入口

返回
高级消息管理类实例

◆ getAdvancedGroupManager()

static V2TIMAdvancedGroupManager getAdvancedGroupManager ( )
inlinestatic

高级群组功能入口

返回
高级群组管理类实例

◆ getConversationManager()

static V2TIMConversationManager getConversationManager ( )
inlinestatic

会话功能入口

返回
会话管理类实例

◆ getFriendshipManager()

static V2TIMFriendshipManager getFriendshipManager ( )
inlinestatic

关系链功能入口

返回
关系链管理类实例

◆ getOfflinePushManager()

static V2TIMOfflinePushManager getOfflinePushManager ( )
inlinestatic

离线推送功能入口

返回
离线推送功能类实例

结构体成员变量说明

◆ 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

无登录