前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云通信-即时通信IM关系链使用指引

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

原创
作者头像
linpeiyang@云通信专项团队
修改2020-11-03 15:27:19
2.9K0
修改2020-11-03 15:27:19
举报
文章被收录于专栏:腾讯云云通信专家服务

经常有用户会提工单咨询:

如何像QQ一样实现加好友、备注、进行好友分组?

如何实现单向添加好友?

如何实现需要验证的好友?

如何实现黑名单,可以无视黑名单强制加好友吗?

...

本篇指引给你参考。

即时通信IM默认有2种关系链

  • 好友
  • 黑名单

均可以通过以下两种方式实现增删改查的功能:

  • 调用REST API
  • 调用SDK接口

1. 好友

1.1 如何实现非好友可以聊天

即时通信IM中,默认非好友可以聊天

1.2 如何实现非好友不能聊天

控制台->功能配置->登录与消息 打开好友控制开关,打开开关后,非好友间发消息会失败,消息界面默认显示红色感叹号图标,SDK会收到20009的错误码

好友关系检查开关
好友关系检查开关

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方式:

添加好友REST API: https://cloud.tencent.com/document/product/269/1643

代码语言:javascript
复制
{
  "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 如何实现强制加好友

可通过调用REST API: https://cloud.tencent.com/document/product/269/1643

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

1.6 有哪些加好友验证方式

控制台->功能配置->好友与关系链 修改默认加好友验证方式,

  • 需要验证信息并本人确认
  • 允许任何人
  • 不允许任何人

这是一个应用的全局配置,同时用户自己可修改自己资料来修改个人的配置。

加好友方式设置
加好友方式设置

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

2. 黑名单

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

黑名单检查开关
黑名单检查开关

黑名单只有单项,没有双向概念,当一条消息到达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

https://cloud.tencent.com/document/product/269/3719

https://cloud.tencent.com/document/product/269/3722

https://cloud.tencent.com/document/product/269/3725

3. 好友分组

3.1 通过REST API 增删分组接口:

添加分组:

REST API: https://cloud.tencent.com/document/product/269/10107

终端(安卓为例):createFriendGroup()

删除分组:

REST API: https://cloud.tencent.com/document/product/269/10108

终端(安卓为例):deleteFriendGroup()

3.2 通过调用REST API 添加好友接口

https://cloud.tencent.com/document/product/269/1643

指定好友为某分组

代码语言:javascript
复制
{
  "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
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 好友
    • 1.1 如何实现非好友可以聊天
      • 1.2 如何实现非好友不能聊天
        • 1.3 如何实现单向/双向好友:
          • 1.4 如何实现加好友时设置分组、备注、添加来源、简要描述
            • 1.5 如何实现强制加好友
              • 1.6 有哪些加好友验证方式
              • 2. 黑名单
              • 3. 好友分组
                • 3.1 通过REST API 增删分组接口:
                  • 添加分组:
                    • 删除分组:
                      • 3.2 通过调用REST API 添加好友接口
                      相关产品与服务
                      即时通信 IM
                      即时通信 IM(Instant Messaging)基于腾讯二十余年的 IM 技术积累,支持 Android、iOS、Mac、Windows、Web、H5、小程序平台且跨终端互通,低代码 UI 组件助您30分钟集成单聊、群聊、好友与资料、消息漫游、群组管理、会话管理、直播弹幕、内容审核和推送等能力。适用于直播互动、电商带货、客服咨询、社交沟通、企业办公、互动游戏、医疗健康等场景。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档