setDataFromNative
功能介绍
在Flutter TUIKit中初始化在Native SDK已登录的用户信息。用于同时在一个项目中,使用Native SDK及Flutter TUIKit完成不同的模块开发,并在Native中完成IM SDK的初始化及登录操作。
当且仅当同时在一个项目中,使用Native SDK及Flutter TUIKit完成不同的模块开发,并在Native中完成IM SDK的初始化及登录操作时,才有必要使用此API。
使用此API需要操作以下步骤:
在native层已经初始化sdk。
在native层中拥有API参数userId的用户已经登录。
参数详解
参数名称 | 参数类型 | 是否必填 | 平台 | 描述 |
---|---|---|---|---|
onTUIKitCallbackListener | Function(TIMCallback TIMCallback) | 否 | 全部 | 返回:SDK API 错误/Flutter 报错/一些可能需要弹窗提示用户的场景信息。 |
language | LanguageEnum | 否 | 全部 | UIKit系统语言 |
config | TIMUIKitConfig | 否 | 全部 | UIKit全局设置 |
userId | String | 是 | 全部 | 在native层中登录的用户的userid |
返回模板
Future<void>
返回值详解
此函数无返回值
代码示例
//使用TIMUIKitCore.getInstance()在uikit中初始化在native端已登录的用户信息
final CoreServicesImpl coreInstance = TIMUIKitCore.getInstance();
coreInstance.setDataFromNative(
onTUIKitCallbackListener: (TIMCallback callbackValue) {
switch (callbackValue.type) {
case TIMCallbackType.INFO:
// 自动展示推荐提示语
Utils.toast(callbackValue.infoRecommendText!);
break;
case TIMCallbackType.API_ERROR:
//打印API的错误, 并展示错误信息.
print(
"Error from TUIKit: ${callbackValue.errorMsg}, Code: ${callbackValue.errorCode}");
if (callbackValue.errorCode == 10004 &&
callbackValue.errorMsg!.contains("not support @all")) {
Utils.toast(imt("当前群组不支持@全体成员"));
} else if (callbackValue.errorCode == 80001 &&
callbackValue.errorMsg!.contains("not support @all")) {
Utils.toast(imt("发言中有非法语句"));
} else {
Utils.toast(
callbackValue.errorMsg ?? callbackValue.errorCode.toString());
}
break;
case TIMCallbackType.FLUTTER_ERROR:
default:
// 打印栈错误
if (callbackValue.catchError != null) {
Utils.toast(callbackValue.catchError.toString());
} else {
print(callbackValue.stackTrace);
}
}
},
language: LanguageEnum.en, // UIKit系统语言
config: TIMUIKitConfig(isShowOnlineStatus: true), //UIKit全局设置
userId: '', //在native层中登录的用户的userid
);