融云好友关系



融云不支持维护好友关系,但是内置信息中有一个信息类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());


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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值