美文网首页
融云好友关系

融云好友关系

作者: 码课sir | 来源:发表于2018-08-04 19:40 被阅读0次

    融云不支持维护好友关系,但是内置信息中有一个信息类ContactNTFMessage来处理好友关系。

    因此好友关系的添加由APP服务器自己维护。

    具体方法:

    1、User1向APP服务期发送添加好友请求

    2、APP服务器请求融云服务器向User2发送ContactNTF信息

    3、User2收到信息,向APP服务器发送反馈信息(拒绝、接受)

    4、APP服务器请求融云服务器向User1发送ContactNTF信息并进行数据库操作

    以下用法可做参考。

    我使用了融云IMkit中的会话列表,因此每次有消息过来就会在会话列表中出现,但是点击他就会启动单聊的窗口,而单聊窗口中不可能进行添加好友的操作吧,因此就要拦截这个ContactNTF信息,具体做法:

    1、建立一个类实现ConversationListListener接口

    然后重写单击事件的方法:

    @Override
        public boolean onConversationClick(Context context, View view, UIConversation uiConversation) {
            Log.i("conversationlist", "click");
            if(uiConversation.getMessageContent() instanceof ContactNotificationMessage)
            {
                ContactNotificationMessage message = (ContactNotificationMessage) uiConversation.getMessageContent();
                Log.i("conversationlist", "contactmessage");
     
                if(message.getOperation().equals(ContactNotificationMessage.CONTACT_OPERATION_REQUEST))
                {
                    //这里进行你自己的操作,我是启动了另一个Activity来处理这个消息
     
                    context.startActivity(intent);
                }
                else if(message.getOperation().equals(ContactNotificationMessage.CONTACT_OPERATION_ACCEPT_RESPONSE))
                {}
                else if(message.getOperation().equals(ContactNotificationMessage.CONTACT_OPERATION_REJECT_RESPONSE))
                {}
     
     
                return true;
            }
            else
            {
                return false;
            }
        }
    

    这里注意的是return true的话就会进行你写的操作,return false 的话就会进行融云IMKit的操作,所以不会影响到会话列表中聊天信息启动单聊窗口,因为我们只拦截了这个ContactNTFMessage。

    最后注册这个监听器就可以了,在RongIM init后,connect前。

    RongIM.setOnReceiveMessageListener(new MyOnReceiveMessageListener());

    服务器的话版本太多了,具体实现要看情况了

    相关文章

      网友评论

          本文标题:融云好友关系

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