云通信-即时通信IM关系链使用指引

[复制链接]
查看: 551|回复: 0

5

主题

5

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2021-1-9 22:11:57 | 显示全部楼层 |阅读模式
即时通信 IM 旗舰版优惠上线
简单接入、稳定必达、覆盖全球的即时通信云服务上线全新旗舰版套餐包,价格低至6折,点击这里立即抢购>>>

经常有用户会提工单咨询:
如何像QQ一样实现加好友、备注、进行好友分组?
如何实现单向添加好友?
如何实现需要验证的好友?
如何实现黑名单,可以无视黑名单强制加好友吗?
...
1.jpg
1.jpg
本篇指引给你参考。



即时通信IM默认有2种关系链
  • 好友
  • 黑名单
均可以通过以下两种方式实现增删改查的功能:
  • 调用REST API
  • 调用SDK接口


1. 好友1.1 如何实现非好友可以聊天
即时通信IM中,默认非好友可以聊天
1.2 如何实现非好友不能聊天
从控制台->功能配置->登录与消息 打开好友控制开关,打开开关后,非好友间发消息会失败,消息界面默认显示红色感叹号图标,SDK会收到20009的错误码
1.jpg

好友关系检查开关

1.3 如何实现单向/双向好友:
A加B好友,B是A的好友,但A不是B的好友,称为单向好友。
A加B好友,他们互为好友,称为双向好友。
REST API方式:
https://cloud.tencent.com/document/product/269/1643,传参时配置AddType字段,默认双向
Add_Type_Single 表示单向加好友
Add_Type_Both 表示双向加好友
SDK接口方式:
安卓为例,addFriend()接口,V2TIMFriendAddApplication类设置setAddType()加好友类型,默认双向好友
V2TIMFriendInfo.V2TIM_FRIEND_TYPE_SINGLE:单向好友
V2TIMFriendInfo.V2TIM_FRIEND_TYPE_BOTH:双向好友

1.4 如何实现加好友时设置分组、备注、添加来源、简要描述
REST API方式:
  1. {
  2.   "From_Account":"id",
  3.   "AddFriendItem":
  4.   [
  5.       {
  6.           "To_Account":"id1", //
  7.           "Remark":"remark1",
  8.           "GroupName":"同学", // 添加好友时只允许设置一个分组,因此使用 String 类型即可
  9.           "AddSource":"AddSource_Type_XXXXXXXX",
  10.           "AddWording":"I'm Test1"
  11.       }
  12.   ],
  13.   "AddType":"Add_Type_Both",
  14.   "ForceAddFlags":1
  15. }
复制代码
SDK接口方式:
安卓为例,调用addFriend()接口,V2TIMFriendAddApplication类设置以下成员函数:
setFriendRemark() 设置备注
setFriendGroup() 设置分组
setFriendGroup() 设置简述
setAddSource() 设置添加类型

1.5 如何实现强制加好友
传参使用ForceAddFlags字段,1表示强制加好友,0表示常规加好友方式

1.6 有哪些加好友验证方式
控制台->功能配置->好友与关系链 修改默认加好友验证方式,
  • 需要验证信息并本人确认
  • 允许任何人
  • 不允许任何人
这是一个应用的全局配置,同时用户自己可修改自己资料来修改个人的配置。
1.jpg

加好友方式设置

IM好友关系提供增加、删除、拉取、验证的功能

2. 黑名单
从控制台->基本配置->登录与消息 打开黑名单检查开关,打开则启用黑名单功能
1.jpg

黑名单检查开关

黑名单只有单项,没有双向概念,当一条消息到达IM后台,
  • 如果用户 A 与用户 B 之间存在好友关系,拉黑时会解除双向好友关系。
  • 如果用户 A 与用户 B 之间存在黑名单关系,二者之间无法发起加好友请求。
  • 如果用户 A 的黑名单中有用户 B 且用户 B 的黑名单中有用户 A,二者之间无法发起会话。
  • 如果用户 A 的黑名单中有用户 B 但用户 B 的黑名单中没有用户 A,那么用户 A 可以给用户 B 发消息,用户 B 不能给用户 A 发消息。
与好友一样,黑名单同样提供增加、删除、拉取、验证功能,在此不多赘述,请参阅:https://cloud.tencent.com/document/product/269/3718


3. 好友分组3.1 通过REST API 增删分组接口:添加分组:
终端(安卓为例):createFriendGroup()
删除分组:
终端(安卓为例):deleteFriendGroup()

3.2 通过调用REST API 添加好友接口
指定好友为某分组
  1. {
  2.   "From_Account":"id",
  3.   "AddFriendItem":
  4.   [
  5.       {
  6.           "To_Account":"id1",
  7.           "Remark":"remark1",
  8.           "GroupName":"同学", // 添加好友时只允许设置一个分组,因此使用 String 类型即可
  9.           "AddSource":"AddSource_Type_XXXXXXXX",
  10.           "AddWording":"I'm Test1"
  11.       }
  12.   ],
  13.   "AddType":"Add_Type_Both",
  14.   "ForceAddFlags":1
  15. }
复制代码





腾讯云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩图文



在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

微信客服

Copyright   ©2015-2019  云服务器社区  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号-1 )