即时通信 IM 开放了用户关系链托管能力,提供关系链相关的一整套完整解决方案。如果您不希望自行开发或维护 App 内用户之间的好友关系,并且轻松玩转加删好友等一系列功能,那么您可以选择即时通信 IM 的关系链托管服务:
关系链是一组用于描述用户和其他用户关系的数据,即时通信 IM 目前支持的关系链有好友表和黑名单两种。
即时通信 IM 关系链系统支持标配关系链字段和自定义关系链字段,关系链字段有如下特性:
即时通信 IM 的好友列表最多允许添加3000个好友。
好友表支持标配好友字段和自定义好友字段。
目前即时通信 IM 支持的标配好友字段如下:
字段名称 | 类型 | 描述 |
---|---|---|
Tag_SNS_IM_Group | Array | 好友分组: 1. 最多支持 32 个分组; 2. 不允许分组名为空; 3. 分组名长度不得超过 30 个字节; 4. 同一个好友可以有多个不同的分组 |
Tag_SNS_IM_Remark | string | 好友备注: 1. 备注长度最长不得超过 96 个字节 |
Tag_SNS_IM_AddSource | string | 加好友来源: 1. 加好友来源字段包含前缀和关键字两部分; 2. 加好友来源字段的前缀是:AddSource_Type_ ; 3. 关键字:必须是英文字母,且长度不得超过 8 字节,建议用一个英文单词或该英文单词的缩写; 4. 示例:加好友来源的关键字是 Android,则加好友来源字段是:AddSource_Type_Android |
Tag_SNS_IM_AddWording | string | 加好友附言: 1. 加好友附言的长度最长不得超过 256 个字节 |
Tag_SNS_IM_AddTime | Integer | 加好友的时间戳 |
自定义好友字段是各 App 根据各自业务需要而设置的好友数据。通过自定义好友字段,各 App 可以将一些额外数据附加到好友上,并通过现有的接口进行读写操作。
App 管理员可以通过即时通信 IM 控制台 >应用配置>功能配置申请自定义好友字段,申请提交后,自定义好友字段将在5分钟内生效。
自定义好友字段的命名规则如下:
申请自定义好友字段时,需要为每一个自定义好友字段提交如下资料:
即时通信 IM 支持的加好友模式有:批量加好友、一回合加好友和两回合加好友,详情可参见 添加好友。
双向好友:用户 A 的好友表中有用户 B,B 的好友表中也有 A。
单向好友:用户 A 的好友表中有用户 B,但 B 的好友表中却没有 A。
加好友验证方式:每个用户都可以选择自己以哪种方式被其他用户添加为好友,详情可参见 标配资料字段 中的加好友验证方式字段。
一回合加好友:如果帐号 A 设置的加好友验证方式是 AllowType_Type_AllowAny,那么任何人添加 A 为好友都可以直接添加成功,这种一个请求就添加好友成功的场景称作一回合加好友。
两回合加好友:如果帐号 A 设置的加好友验证方式是 AllowType_Type_NeedConfirm,那么任何人添加 A,A 都会收到一个请求加好友验证消息,这是第一个回合,然后 A 对这个请求加好友验证消息进行同意操作时,这是第二个回合,这种需要验证的加好友场景就被称为两回合加好友。
即时通信 IM 支持单向删除好友和双向删除好友等两种好友删除模式。
删除模式 | DeleteType | 描述 |
---|---|---|
单向删除好友 | Delete_Type_Single | 只将 To_Account 从 From_Account 的好友表中删除,但不会将 From_Account 从 To_Account 的好友表中删除 |
双向删除好友 | Delete_Type_Both | 将 To_Account 从 From_Account 的好友表中删除,同时将 From_Account 从 To_Account 的好友表中删除 |
即时通信 IM 也支持批量删除好友,更多信息可参见 删除好友。
即时通信 IM 支持以下两种好友校验模式:单向校验好友关系、双向校验好友关系。
校验模式 | CheckType | 描述 |
---|---|---|
单向校验好友关系 | CheckResult_Type_Single | 只会检查 From_Account 的好友表中是否有 To_Account,不会检查 To_Account 的好友表中是否有 From_Account |
双向校验好友关系 | CheckResult_Type_Both | 既会检查 From_Account 的好友表中是否有 To_Account,也会检查 To_Account 的好友表中是否有 From_Account |
单向校验好友关系时可能的结果有:
Relation | 描述 |
---|---|
CheckResult_Type_NoRelation | From_Account 的好友表中没有 To_Account,但无法确定 To_Account 的好友表中是否有 From_Account |
CheckResult_Type_AWithB | From_Account 的好友表中有 To_Account,但无法确定 To_Account 的好友表中是否有 From_Account |
双向校验好友关系时可能的结果有:
Relation | 描述 |
---|---|
CheckResult_Type_BothWay | From_Account 的好友表中有 To_Account,To_Account 的好友表中也有 From_Account |
CheckResult_Type_AWithB | From_Account 的好友表中有 To_Account,但 To_Account 的好友表中没有 From_Account |
CheckResult_Type_BWithA | From_Account 的好友表中没有 To_Account,但 To_Account 的好友表中有 From_Account |
CheckResult_Type_NoRelation | From_Account 的好友表中没有 To_Account,To_Account 的好友表中也没有 From_Account |
校验好友的其他相关信息可参见 校验好友。
每个用户都有一份黑名单,用于保存被该用户屏蔽的帐号。
用户 A 将用户 B 加入黑名单后,A 与 B 之间的好友关系会被解除(如果有),且 A 与 B 之间无法再发起加好友请求。
即时通信 IM 的黑名单列表最多允许添加 1000 个黑名单帐号,且不支持配置。
即时通信 IM 支持批量添加黑名单,详情可参见:添加黑名单。
即时通信 IM 支持批量删除黑名单,详情可参见:删除黑名单。
即时通信 IM 支持通过分页模式拉取全量黑名单,详情可参见:拉取黑名单。
即时通信 IM 支持以下两种黑名单校验模式:单向校验黑名单关系、双向校验黑名单关系。
校验模式 | CheckType | 描述 |
---|---|---|
单向校验黑名单关系 | BlackCheckResult_Type_Single | 只会检查 From_Account 的黑名单中是否有 To_Account,不会检查 To_Account 的黑名单中是否有 From_Account |
双向校验黑名单关系 | BlackCheckResult_Type_Both | 既会检查 From_Account 的黑名单中是否有 To_Account,也会检查 To_Account 的黑名单中是否有 From_Account |
单向校验黑名单关系时可能的结果有:
Relation | 描述 |
---|---|
BlackCheckResult_Type_AWithB | From_Account 的黑名单中有 To_Account,但无法确定 To_Account 的黑名单中是否有 From_Account |
BlackCheckResult_Type_NO | From_Account 的黑名单中没有 To_Account,但无法确定 To_Account 的黑名单中是否有 From_Account |
双向校验黑名单关系时可能的结果有:
Relation | 描述 |
---|---|
BlackCheckResult_Type_BothWay | From_Account 的黑名单中有 To_Account,To_Account 的黑名单中也有 From_Account |
BlackCheckResult_Type_AWithB | From_Account 的黑名单中有 To_Account,但 To_Account 的黑名单中没有 From_Account |
BlackCheckResult_Type_BWithA | From_Account 的黑名单中没有 To_Account,但 To_Account 的黑名单中有 From_Account |
BlackCheckResult_Type_NO | From_Account 的黑名单中没有 To_Account,To_Account 的黑名单中也没有 From_Account |
校验黑名单的其他相关信息可参见校验黑名单。
本页内容是否解决了您的问题?