类 V2TIMManager 是 IM SDK 主核心类,负责 IM SDK 的初始化、登录、消息收发,建群退群等功能,是 IM SDK 的入口类。调用 initSDK 接口即可完成初始化:
// 1. 从 IM 控制台获取应用 SDKAppID,详情请参考 SDKAppID。
// 2. 初始化 config 对象
V2TIMSDKConfig config = new V2TIMSDKConfig();
// 3. 指定 log 输出级别,详情请参考 SDKConfig。
config.setLogLevel(V2TIMSDKConfig.V2TIM_LOG_INFO);
// 4. 初始化 SDK 并设置 V2TIMSDKListener 的监听对象。
// initSDK 后 SDK 会自动连接网络,网络连接状态可以在 V2TIMSDKListener 回调里面监听。
V2TIMManager.getInstance().initSDK(context, sdkAppID, sdkConfig, new V2TIMSDKListener() {
// 5. 监听 V2TIMSDKListener 回调
@Override
public void onConnecting() {
// 正在连接到腾讯云服务器
}
@Override
public void onConnectSuccess() {
// 已经成功连接到腾讯云服务器
}
@Override
public void onConnectFailed(int code, String error) {
// 连接腾讯云服务器失败
}
});
初始化接口 initSDK(SDKAppID, SDKConfig, listener) 包含三个必填的参数,分别是 SDKAppID、SDKConfig 和事件监听器。
SDKAppID 即应用 ID,它是腾讯云 IM 服务用于区分客户帐号的唯一标识。每一个独立的 App 都建议申请一个新的 SDKAppID,不同 SDKAppID 之间的消息天然隔离,不能互通。
您可以在 即时通信 IM 控制台 查看所有的 SDKAppID,单击【添加新应用】即可创建新的 SDKAppID。
参数 V2TIMSDKConfig
用于对 SDK 进行初始化配置,常用于设置日志级别,即 setLogLevel 接口,日志级别如下表所示:
日志级别 | LOG 输出量 |
---|---|
V2TIM_LOG_NONE | 不输出任何 log |
V2TIM_LOG_DEBUG | 输出 DEBUG,INFO,WARNING,ERROR 级别的 log |
V2TIM_LOG_INFO | 输出 INFO,WARNING,ERROR 级别的 log |
V2TIM_LOG_WARN | 输出 WARNING,ERROR 级别的 log |
V2TIM_LOG_ERROR | 输出 ERROR 级别的 log |
/sdcard/tencenet/imsdklogs/应用包名
目录下,4.8.50及之后的版本存储于 /sdcard/Android/data/包名/files/log/tencent/imsdk
目录下。python decode_mars_nocrypt_log_file.py imsdk_yyyyMMdd.xlog
V2TIMSDKListener 提供了网络状态以及用户信息变更的监听:
事件回调 | 事件描述 | 推荐操作 |
---|---|---|
onConnecting | 正在连接到腾讯云服务器 | 适合在 UI 上展示“正在连接”状态。 |
onConnectSuccess | 已经成功连接到腾讯云服务器 | - |
onConnectFailed | 连接腾讯云服务器失败 | 可以提示用户当前网络连接不可用。 |
onKickedOffline | 当前用户被踢下线 | 此时可以 UI 提示用户“您已经在其他端登录了当前账号,是否重新登录?” |
onUserSigExpired | 登录票据已经过期 | 请使用新签发的 UserSig 进行登录。 |
onSelfInfoUpdated | 当前用户的资料发生了更新 | 可以在 UI 上更新自己的头像和昵称。 |
注意:若收到
onUserSigExpired
回调,说明您登录用的 UserSig 票据已经过期,请更新后重新登录。如果继续使用过期的 UserSig,会导致 SDK 登录死循环。
调用 V2TIMManager
的 login(userID, userSig) 函数可以进行登录,只有在 SDK 登录成功后,才能使用 IM SDK 的各项能力。
注意:调用 IM SDK Login 成功登录后,将会开始计算 DAU,请根据业务场景合理使用 IM SDK Login 操作,避免出现 DAU 过高的情况。
onUserSigExpired
回调,即登录票据已过期时,需要使用新的 UserSig 进行登录。onKickOffline
回调,即当前用户被踢下线时,可以通过 UI 提示用户“您已经在其他端登录了当前账号,是否重新登录?” 如果用户选择“是”,就可以进行重新登录。以下场景无需调用登录:
同样类型的两台手机不能同时登录一个帐号,例如两台苹果手机不能同时登录一个帐号。但是一台安卓手机和一台苹果手机会被认为是两端,可以同时登录。多端登录相关配置请参考 登录设置。
登出操作相对简单,使用 logout 函数即可。
作者:崔昊 编辑:阿里波特 来源:阿里云研究公众号 编者按: 中国儿童内容领域...
本文转载自公众号读芯术(ID:AI_Discovery)。 流行 Python 数据分析库 Pandas 中...
自2020年3月新基建政策发布以来,数据中心作为强力支撑各行业发展的关键基础设施...
Agent客户端日志存放路径为: “/opt/dbss_audit_agent/log/audit_agent.log” ...
根据调研机构Forrester Research公司最近的一项调查,在数字化转型和软件即服务...
1、IP地址 就相当于是服务器在网络里的身份证,是唯一的,大家可以通过它来识别...
如下是服务器常用端口介绍,关于 Windows 下更多的服务应用端口说明,请参考微软...
当您修改了索引规则或需要对历史数据配置索引时,可以使用重建索引功能。日志服...
E-HPC高性能容器应用可以让您使用容器进行高性能计算作业,例如您可以通过高性能...
本文档主要介绍数据加工功能的一些基本概念。 基本概念 ETL,Data Transformatio...