init method
初始化SDK
Implementation
@override
void init({SyOptions? syOptions}) {
SyImSdkPlatform.instance.init(syOptions: syOptions ?? SyOptions());
//注册链接监听
const basicMessageChannel = BasicMessageChannel(
ChannelCommon.syClientConnectChannel, StringCodec());
//接收链接消息
basicMessageChannel.setMessageHandler((message) async {
ConnectData connectData =
ConnectData.fromJson(jsonDecode(message.toString()));
switch (connectData.type) {
case "CONNECT_SUCCESS":
if (onConnectListeners.isNotEmpty) {
for (var element in onConnectListeners) {
element.onConnectSuccess.call();
}
}
break;
case "CONNECT_FAIL":
if (onConnectListeners.isNotEmpty) {
for (var element in onConnectListeners) {
element.onConnectFail.call(connectData.code!, connectData.msg!);
}
}
break;
case "FORCED_OFFLINE":
if (onConnectListeners.isNotEmpty) {
for (var element in onConnectListeners) {
element.onForcedOffLine.call();
}
}
break;
case "LOGIN_STEP_SYNCING":
if (onConnectListeners.isNotEmpty) {
for (var element in onConnectListeners) {
element.onLoginStepSyncing.call();
}
}
break;
case "LOGIN_STEP_SYNCING_OK":
if (onConnectListeners.isNotEmpty) {
for (var element in onConnectListeners) {
element.onLoginStepSyncingOk.call();
}
}
break;
case "ON_LINE_STATUS":
if (mOnContactListener.isNotEmpty) {
for (var element in mOnContactListener) {
SyUserOnlineStatus syUserOnlineStatus =
SyUserOnlineStatus.fromJson(connectData.msg);
element.onOnline.call(syUserOnlineStatus);
}
}
break;
}
return 'success';
});
}