sendMessage method

Future<EMMessage> sendMessage(
  1. EMMessage message
)

~english Sends a message.

Note For attachment messages such as voice, image, or video messages, the SDK automatically uploads the attachment. You can set whether to upload the attachment to the chat sever using EMOptions.serverTransfer.

To listen for the status of sending messages, call EMChatManager.addMessageEvent.

Param message The message object to be sent: EMMessage.

Throws A description of the exception. See EMError. ~end

~chinese 发消息

Note 对于语音、图片、视频等附件消息,SDK会自动上传附件。 可以使用 EMOptions.serverTransfer 设置是否将附件上传到聊天服务器。

添加发送状态监听使用 EMChatManager.addMessageEvent.

Param message 需要发送的消息 EMMessage.

Throws 如果有异常会在这里抛出,包含错误码和错误描述,详见 EMError。 ~end

Implementation

Future<EMMessage> sendMessage(EMMessage message) async {
  message.status = MessageStatus.PROGRESS;
  Map result = await ChatChannel.invokeMethod(
      ChatMethodKeys.sendMessage, message.toJson());
  try {
    EMError.hasErrorFromResult(result);
    EMMessage msg = EMMessage.fromJson(result[ChatMethodKeys.sendMessage]);
    message.from = msg.from;
    message.to = msg.to;
    message.status = msg.status;
    return message;
  } on EMError catch (e) {
    throw e;
  }
}