initSDK
初始化 SDK。日志级别 | LOG 输出量 |
LogLevelEnum.V2TIM_LOG_NONE | 不输出任何 log |
LogLevelEnum.V2TIM_LOG_DEBUG | 输出 DEBUG,INFO,WARNING,ERROR 级别的 log (默认的日志级别) |
LogLevelEnum.V2TIM_LOG_INFO | 输出 INFO,WARNING,ERROR 级别的 log |
LogLevelEnum.V2TIM_LOG_WARN | 输出 WARNING,ERROR 级别的 log |
LogLevelEnum.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
抛出一些事件,例如连接状态、登录票据过期等。
我们建议您在调用initSDK时传入 V2TimSDKListener
(Dart) 接口添加 SDK 事件监听器,在对应回调中做一些逻辑处理。V2TimSDKListener
相关回调如下表所示:事件回调 | 事件描述 | 推荐操作 |
onConnecting | 正在连接到腾讯云服务器 | 适合在 UI 上展示 “正在连接” 状态。 |
onConnectSuccess | 已经成功连接到腾讯云服务器 | - |
onConnectFailed | 连接腾讯云服务器失败 | 提示用户当前网络连接不可用。 |
onKickedOffline | 当前用户被踢下线 | 此时可以 UI 提示用户 “您已经在其他端登录了当前帐号,是否重新登录?” |
onUserSigExpired | 登录票据已经过期 | 请使用新签发的 UserSig 进行登录。 |
onSelfInfoUpdated | 当前用户的资料发生了更新 | 可以在 UI 上更新自己的头像和昵称。 |
onUserSigExpired
回调,说明您登录用的 UserSig 票据已经过期,请使用新签发的 UserSig 进行重新登录。如果继续使用过期的 UserSig,会导致 IM SDK 登录进入死循环。// 1. 从即时通信 IM 控制台获取应用 SDKAppID。int sdkAppID = 0;// 2. 添加 V2TimSDKListener 的事件监听器,sdkListener 是 V2TimSDKListener 的实现类V2TimSDKListener sdkListener = V2TimSDKListener(onConnectFailed: (int code, String error) {// 连接失败的回调函数// code 错误码// error 错误信息},onConnectSuccess: () {// SDK 已经成功连接到腾讯云服务器},onConnecting: () {// SDK 正在连接到腾讯云服务器},onKickedOffline: () {// 当前用户被踢下线,此时可以 UI 提示用户,并再次调用 V2TIMManager 的 login() 函数重新登录。},onSelfInfoUpdated: (V2TimUserFullInfo info) {// 登录用户的资料发生了更新// info登录用户的资料},onUserSigExpired: () {// 在线时票据过期:此时您需要生成新的 userSig 并再次调用 V2TIMManager 的 login() 函数重新登录。},onUserStatusChanged: (List<V2TimUserStatus> userStatusList) {//用户状态变更通知//userStatusList 用户状态变化的用户列表//收到通知的情况:订阅过的用户发生了状态变更(包括在线状态和自定义状态),会触发该回调//在 IM 控制台打开了好友状态通知开关,即使未主动订阅,当好友状态发生变更时,也会触发该回调//同一个账号多设备登录,当其中一台设备修改了自定义状态,所有设备都会收到该回调},);// 3.初始化SDKV2TimValueCallback<bool> initSDKRes =await TencentImSDKPlugin.v2TIMManager.initSDK(sdkAppID: sdkAppID, // SDKAppIDloglevel: LogLevelEnum.V2TIM_LOG_ALL, // 日志登记等级listener: sdkListener, // 事件监听器);if (initSDKRes.code == 0) {//初始化成功}
// 反初始化 SDKTencentImSDKPlugin.v2TIMManager.unInitSDK();
本页内容是否解决了您的问题?