注册

android扩展消息(名片集成)

很多社交软件都少不了名片这种东西,可是,用环信怎么去解决这个名片问题呢。

首先呢,大家要注意环信IOS版的扩展消息ext不能接收json格式数据。。。(之前不知道,ios把我坑了一次)

接下来,我就给大家来集成下名片消息

要想在ios端显示出来,那么必须两个客户端的扩展字段必须相同,这个大家一定要知道


1.png


我的扩展字段是这样的,上面也解释的很清楚,大家不要看错,是名片上的,不是自己的id,昵称

接下来我们要去定义几个常量在chatFragment里面,这里的常量需要该小,不然会报数组越界错误

2.png


定义好之后,那么接下来我们需要到chatFragment里面去注册这个按钮

3.png


对,没错,就是这么简单,注册一个按钮,然后,我们需要到onExtendMenuItemClick这个方法中写名片按钮的点击事件


4.png


大家看到了是个startActivityForResult,看到这里,肯定接下来就是去到REQUEST_CODE_SELEST_MINGPIAN里面接收data


5.png



REQUEST_CODE_SELEST_MINGPIAN是写在if(resultCode == Activity.RESULT_OK) {}里面的

接下来我们需要去CustomChatRowProvider这个内部类里面去设置发送接收,大家需要注意getCustomChatRowTypeCount(){}方法里面必须要加上2,这个2的意思就是说发送和接收名片


6.png


这里大家应该可以看到,我只写了发送名片,没有写接收名片,原因就是我不需要自己点自己发送出去的名片,所以没写,这个如果要的话,照葫芦画瓢,SoEasy

接下来这个非常重要,这个是名片消息的ChatRow,就是载体


7.png


 
对,就是new一个chatRow出来,这个chatRow在easeui里面是没有的,所以需要我们自己写


8.png


必须注意,一定要继承EaseChatRow,不然就调不出onInflatView,onFindViewById,onUpdateView,onSetUpView,onBubbleClick这几个方法


9.png


这个方法名已经很明显了onFindViewById,也就是说,在这里绑定布局里面的id,最重要的方法是onSetUpView


10.png


这里设置完了之后,基本上就好了,布局我没有放出来,等会看运行之后的效果

这几个方法的意思大家去看EaseUI里面的EaseChatRow

到最后,我们还需要一个步骤,就是去DemoHelper里面监听消息是不是名片扩展消息


11.png


是不是很好理解,这个完了之后,运行。。。。


12.png


完美!!!

如果大家还有什么问题,那么就加入环信IM互帮互助群 340452063认准杭州-android-中草,龙瞎头像,找我,帮你解答一切扩展消息问题

4 个评论

写得非常好,基本的原理以及实现步骤都懂了,如果能结合这个教程基于EaseUI写一个简单的demo开源出来就完美了。
单聊可以,群聊时发名片不可用
markh

markh 回复 markh

哪位大神解决了群聊回撤消息,以及群聊可以发送名片,麻烦加我下QQ2582205922,指导一下,在此谢过。
为什么加群付费生成订单失败

要回复文章请先登录注册