到底怎么自定义消息?需要做发红包功能。。
官方说理论太多。能不能直接点。
我现在是自己建了一个money类继承EMMessage,
新建EMMoneyMessageBody遵守了IEMessageBody协议,但不知道
initWithChatObject:方法怎么写,环信这里没有开源。。
,然后根本就不能发。。。。,发的消息为空白,退出聊天界面再进来,刚刚的空白都不见了,,,,
我现在是自己建了一个money类继承EMMessage,
新建EMMoneyMessageBody遵守了IEMessageBody协议,但不知道
initWithChatObject:方法怎么写,环信这里没有开源。。
,然后根本就不能发。。。。,发的消息为空白,退出聊天界面再进来,刚刚的空白都不见了,,,,
+(instancetype)moneyMessageWithReceiver:(NSString *)receiver{
//构造body
EMMoneyMessageBody *body = [[EMMoneyMessageBody alloc] initWithChatObject:nil];
//构造消息
EMMoneyMessage *message = [[EMMoneyMessage alloc] initWithReceiver:receiver bodies:@[body]];
message.messageType = eMessageTypeGroupChat;
return message;
}
没有找到相关结果
已邀请:
2 个回复
[已注销]
soifow
发红包的时候就用发送text的方法,ext字典里面自己定义数据和红包类型以区分不同的扩展信息,text文本可以根据你自己产品的需要写,比如产品要求在聊天list页面显示 红包信息时是 [收到红包],那你就传@"[收到红包]",ext里面定义的东西就是你和其他平台app同事定义一套自己的规则就好了
展示的时候在bubble里面自己定义一个红包的bubbleview,用autolayout写,创建Bubbleview的地方要所有text类型的地方都要去拆ext的内容,根据里面传的type判断是不是红包,再分别赋值等其他操作
//发送扩展消息
- (void)sendTextMessage:(NSString *)text withExt:(NSDictionary*)ext {
EMMessage *message = [EaseSDKHelper sendTextMessage:text
to:self.conversation.conversationId
messageType:EMChatTypeGroupChat
messageExt:ext];
[self _sendMessage:message];
}
- (void)_sendMessage:(EMMessage *)message {
if (self.conversation.type == EMConversationTypeGroupChat) {
message.chatType = EMChatTypeGroupChat;
} else if (self.conversation.type == EMConversationTypeChatRoom) {
message.chatType = EMChatTypeChatRoom;
}
[self addMessageToDataSource:message
progress:nil];
__weak typeof(self) weakself = self;
[[EMClient sharedClient].chatManager asyncSendMessage:message progress:nil completion:^(EMMessage *aMessage, EMError *aError) {
[weakself.tableView reloadData];
}];
}