init method

  1. @override
void init()

Implementation

@override
void init() {
  TencentImSDKPlugin.v2TIMManager.getMessageManager().addAdvancedMsgListener(
    listener: V2TimAdvancedMsgListener(
      onRecvNewMessage: (V2TimMessage message) {
        MessageElement? element;
        if (message.elemType == _V2TIM_ELEM_TYPE_TEXT) {
          element = TextMessageElement(text: message.textElem?.text ?? '');
        } else if (message.elemType == _V2TIM_ELEM_TYPE_CUSTOM) {
          element = CustomMessageElement(data: base64Decode(message.customElem?.data ?? ''));
        }

        if (element != null) {
          if (message.groupID != null && message.groupID!.isNotEmpty) {
            messageStreamController.add(
              NewGroupMessageEvent(
                message: GroupMessage(
                  groupId: message.groupID ?? '',
                  senderUserId: message.sender ?? '',
                  element: element,
                ),
              ),
            );
          } else {
            messageStreamController.add(
              NewMessageEvent(
                message: Message(
                  senderUserId: message.sender ?? '',
                  element: element,
                ),
              ),
            );
          }
        }
      },
    ),
  );
}