美文网首页环信程序员
3.环信(3.3.7 )--表情云(2.0)(2018.1.22

3.环信(3.3.7 )--表情云(2.0)(2018.1.22

作者: 淡闲星草 | 来源:发表于2018-01-22 17:39 被阅读44次

    1.官网

    1.表情云 iOS API (BQMM 表情包)

    2.环信SDK文档

    2. 界面展示

    界面展示.png

    3.本文适配 对应 版本 (2018.1.22)

    1.表情云 :V2.0.0 (2017.12.27)

    表情云2.0.0 .png

    2.环信:3.3.7 (2017.11.30)


    环信3.3.7.png

    注意 :

    1.本次 适配 的环信版本( 3.3.7 ) 与 表情云官网 下载的demo中表情云的 版本( 3.1.4 )不同

    表情云readme.png

    2.不要使用 cocoaspod 导入 BQMM 因为那样下载的对应类库 会与 表情云- 环信demo 的文件不一致,缺少 MMGifManager.h文件等...,所以 本文 选择 手动 导入BQMM

    具体操作 参考 http://open.biaoqingmm.com/doc/sdk/content/ios/implement_manual/

    4.适配中注意点

    1.打开demo 全局 搜索 //BQMM集成 (由于 本人项目 不需要 ContactListSelectViewController.h文件 所以不做操作),剩下的就是对 搜索的文件 与 自己配置好的环信项目进行配置

    注意1.png

    2.#import "EaseMessageViewController.m" 文件 针对于 环信 3.3.7 需要添加(3.1.4版本 不需要添加如下方法)

    2.1

    //BQMM集成 -- 自己
    -  (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 sendMessage:message progress:nil completion:^(EMMessage  *aMessage,  EMError  *aError)  {
    
    if  (!aError)  {
    
    [weakself _refreshAfterSentMessage:aMessage];
    
    }
    
    else  {
    
    [weakself.tableView reloadData];
    
    }
    
    }];
    
    }
    

    原因: 3.3.7 新增了如下 方法

    -  (void)_sendMessage:(EMMessage  *)message isNeedUploadFile:(BOOL)isUploadFile
    

    2.2

    注意2.2.png

    3.添加 新文件 EaseBubbleView +MMText.h时候 需要 引入 如下2个文件

    注意3..png
    1. EaseChatToolbar.h文件

    4.1.针对于 3.3.7 需要在.h 导入 如下方法

    //BQMM集成 -- 自己
    
    -  (void)didSendTextMessageWithTextView:(UITextView  *)textView;
    

    原因 3.3.7 中省去 上面的方法

    4.2. EaseChatToolbar.m

    注意4.2.png

    5.#import "EaseCustomMessageCell.m"

    //BQMM集成 方法中 针对于 sd_setImageWithURL:...的方法
    
    -  (void)setCustomModel:(id<IMessageModel>)model{
    
    .......
    
    }
    
    注意5 --正确.png

    原因 是环信 重写了 SD的一些方法,报错

    下图为 表情云demo 的代码(错误) 上图为更正后的 代码

    注意5- 错误.png

    相关文章

      网友评论

      • shopping627:楼主,怎样才能只显示emoji表情,其他的不要
        淡闲星草:那你可以自己写一个 表情键盘, 可以参考下 https://github.com/VernonVan/PPStickerKeyboard

      本文标题:3.环信(3.3.7 )--表情云(2.0)(2018.1.22

      本文链接:https://www.haomeiwen.com/subject/ynfraxtx.html