即时通信 IM 旗舰版优惠上线
经常有用户会提工单咨询: 如何像QQ一样实现加好友、备注、进行好友分组? 如何实现单向添加好友? 如何实现需要验证的好友? 如何实现黑名单,可以无视黑名单强制加好友吗? ...
本篇指引给你参考。
即时通信IM默认有2种关系链 均可以通过以下两种方式实现增删改查的功能:
1. 好友1.1 如何实现非好友可以聊天即时通信IM中,默认非好友可以聊天 1.2 如何实现非好友不能聊天从控制台->功能配置->登录与消息 打开好友控制开关,打开开关后,非好友间发消息会失败,消息界面默认显示红色感叹号图标,SDK会收到20009的错误码
好友关系检查开关
1.3 如何实现单向/双向好友:A加B好友,B是A的好友,但A不是B的好友,称为单向好友。 A加B好友,他们互为好友,称为双向好友。 REST API方式: Add_Type_Single 表示单向加好友 Add_Type_Both 表示双向加好友 SDK接口方式: 安卓为例,addFriend()接口,V2TIMFriendAddApplication类设置setAddType()加好友类型,默认双向好友 V2TIMFriendInfo.V2TIM_FRIEND_TYPE_SINGLE:单向好友 V2TIMFriendInfo.V2TIM_FRIEND_TYPE_BOTH:双向好友
1.4 如何实现加好友时设置分组、备注、添加来源、简要描述REST API方式: - {
- "From_Account":"id",
- "AddFriendItem":
- [
- {
- "To_Account":"id1", //
- "Remark":"remark1",
- "GroupName":"同学", // 添加好友时只允许设置一个分组,因此使用 String 类型即可
- "AddSource":"AddSource_Type_XXXXXXXX",
- "AddWording":"I'm Test1"
- }
- ],
- "AddType":"Add_Type_Both",
- "ForceAddFlags":1
- }
复制代码SDK接口方式: 安卓为例,调用addFriend()接口,V2TIMFriendAddApplication类设置以下成员函数: setFriendRemark() 设置备注 setFriendGroup() 设置分组 setFriendGroup() 设置简述 setAddSource() 设置添加类型
1.5 如何实现强制加好友传参使用ForceAddFlags字段,1表示强制加好友,0表示常规加好友方式
1.6 有哪些加好友验证方式控制台->功能配置->好友与关系链 修改默认加好友验证方式, 这是一个应用的全局配置,同时用户自己可修改自己资料来修改个人的配置。
加好友方式设置
IM好友关系提供增加、删除、拉取、验证的功能
2. 黑名单从控制台->基本配置->登录与消息 打开黑名单检查开关,打开则启用黑名单功能
黑名单检查开关
黑名单只有单项,没有双向概念,当一条消息到达IM后台, - 如果用户 A 与用户 B 之间存在好友关系,拉黑时会解除双向好友关系。
- 如果用户 A 与用户 B 之间存在黑名单关系,二者之间无法发起加好友请求。
- 如果用户 A 的黑名单中有用户 B 且用户 B 的黑名单中有用户 A,二者之间无法发起会话。
- 如果用户 A 的黑名单中有用户 B 但用户 B 的黑名单中没有用户 A,那么用户 A 可以给用户 B 发消息,用户 B 不能给用户 A 发消息。
3. 好友分组3.1 通过REST API 增删分组接口:添加分组:终端(安卓为例):createFriendGroup() 删除分组:终端(安卓为例):deleteFriendGroup()
3.2 通过调用REST API 添加好友接口指定好友为某分组 - {
- "From_Account":"id",
- "AddFriendItem":
- [
- {
- "To_Account":"id1",
- "Remark":"remark1",
- "GroupName":"同学", // 添加好友时只允许设置一个分组,因此使用 String 类型即可
- "AddSource":"AddSource_Type_XXXXXXXX",
- "AddWording":"I'm Test1"
- }
- ],
- "AddType":"Add_Type_Both",
- "ForceAddFlags":1
- }
复制代码
|