好友管理

本文主要介绍 云上曲率即时通讯IM SDK的好友管理功能。

功能描述

好友管理是指用户可以添加、删除好友,对发起和收到的好友请求做处理等功能操作。

云上曲率IM SDK为开发者提供如下群组信息管理内容:

  • 获取好友列表
  • 获取被添加好友请求列表
  • 获取添加别人为好友的请求列表
  • 添加好友
  • 删除好友
  • 检查好友关系
  • 获取好友备注名称
  • 设置好友备注名称

接口说明

好友事件变更通知

好友管理功能中,当出现被添加好友、添加好友同意、添加好友拒绝、好友变更时,会接收到服务端的通知PUSH。

获取好友列表

用户可以使用getFriendList接口获取用户的全部好友。

代码示例
public void getFriendList(ICallback<List<Long>> callback)

获取被添加好友请求列表

用户可以使用getFriendApplyList接口获取用户被添加好友的全部请求。

代码示例
public void getFriendApplyList(ICallback<List<IMApplyInfo>> callback)

获取发出的添加好友请求列表

用户可以使用getFriendRequestList接口获取用户发出的添加好友的全部请求。

代码示例
public void getFriendRequestList(ICallback<List<IMRquestInfo>> callback)

添加好友

用户可以使用addFriend接口添加非好友用户为好友。

接口参数说明:

参数 含义 说明
userId 用户ID 请求添加的用户ID
extra 附加信息 根据添加好友方式进行处理,如果是需要验证,此处为验证留言内容
attrs 自定义属性 开发者可以配置用户信息等业务信息

其中,extra参数会根据用户信息设置的 “添加好友方式” 来设置。

自由添加好友

添加好友方式“无需验证” 时:

  1. 用户调用 addFriend 直接添加好友。
  2. 添加后,好友双方收到由服务端推送的 好友变更 通知。
验证添加好友

添加好友方式“需要验证” 时:

  1. 用户调用 addFriend 添加好友,并在extra中填写所需验证信息。

  2. 被添加的好友 发起 ackAddFriend回调,并进行处理。

    • ackAddFriend接口参数说明:

    接口参数说明:

    参数 含义 说明
    userId 用户ID 请求添加的用户ID
    agree 是否同意 被添加好友的用户处理是否同意好友请求
    attrs 自定义属性 开发者可以配置用户信息等业务信息
  3. 验证通过,好友添加成功,好友双方收到由服务端推送的 好友变更 通知。

  4. 验证不通过/请求超时,无法添加好友。

注意:添加好友请求只有在一个请求被拒绝或者失效后,才可以再发起同一用户的好友添加请求。请求失效时间默认为 24 小时。

代码示例
public void addFriend(final long userId, String extra, String attrs, final IEmptyCallback callback)
public void ackAddFriend(long userId, final boolean agree, String attrs, final IEmptyCallback callback)

删除好友

用户可以使用deleteFriend接口来删除好友。

接口参数说明:

参数 含义 说明
uid 好友ID 待删除的好友ID

当前默认删除好友位双向删除,即当用户A删除好友用户B后,用户B也默认删除用户A,双方的好友列表中均没有彼此的好友关系,并且无法再从服务端获取好友会话和历史消息。 当好友删除成功后,好友双方均会收到由服务端推送的 好友变更 通知。

注意:如果需要单向删除好友,请联系云上曲率技术人员。

代码示例
public void deleteFriend(final Long uid, IEmptyCallback callback)