最近集成融云,比较简单,包也较小,集成带界面的可以直接使用它做好的界面:
implementation 'cn.rongcloud.sdk:im_kit:5.3.1' // 即时通讯基础能力库
但是自定义消息的时候,出现了 Custom messages have no annotated information 的提示,大致意思为自定义消息没有注释信息,参考TextMessage,我们会发现顶部注释了
@MessageTag(
value = "RC:TxtMsg",
flag = 3
)
经查资料,我们也需要在我们的自定义类里面添加类似注释
@MessageTag(
value = "app:custom_info",
flag = MessageTag.ISCOUNTED | MessageTag.ISPERSISTED
)
再次点击发送,发送成功。
除以之外,在注册自定义信息时还需要注意
//注册信息模板
RongConfigCenter.conversationConfig().addMessageProvider(new CustomMessageProvider());
//注册自定义消息
ArrayList<Class<? extends MessageContent>> mMessageList = new ArrayList<>();
mMessageList.add(GoodsInfoRongMessage.class);
RongIMClient.registerMessageType(mMessageList);
//创建消息
CustomMessage mCustomMessage = new CustomMessage();
mCustomMessage.setTitle("我是标题");
Message mMessage = Message.obtain(mTargetId, Conversation.ConversationType.PRIVATE, mCustomMessage);
//发送消息
RongIM.getInstance().sendMessage(mMessage, null, null, new IRongCallback.ISendMessageCallback() {
@Override
public void onAttached(Message message) {
}
@Override
public void onSuccess(Message message) {
Log.e("发送成功", "onSuccess: " + message);
}
@Override
public void onError(Message message, RongIMClient.ErrorCode errorCode) {
Log.e("发送失败", "errorCode: " + errorCode.getValue());
}
});