腾讯云即时通信IMReact Native_AI解决方案_同尘科技

即时通信 IM 2年前 (2023-06-13) 浏览 27

功能描述

用户可以设置和获取个人的昵称、头像、签名等资料信息,也可以获取到陌生人的资料信息。相关方法在核心类 TencentImSDKPlugin.v2TIMManager.getFriendshipManager()中。

关系链事件监听器

您可以调用 addFriendListener (点击查看详情) 添加关系链事件监听器。当不想再接收关系链事件时,可调用 removeFriendListener (点击查看详情) 移除关系链事件监听器。注意 只有预先设置好关系链事件监听器,才能正常接收到下文中的各种事件通知。示例代码如下:

// 添加关系链监听器const frindshipListener = {  onBlackListAdd: (infoList) => {},  onBlackListDeleted: (userids) => {},  onFriendApplicationListAdded: (applicationlist) => {},  onFriendApplicationListDeleted: (applicationlist) => {},  onFriendApplicationListRead: () => {},  onFriendInfoChanged: (frindInfolist) => {},  onFriendListAdded: (frindInfolist) => {},  onFriendListDeleted: (userd) => {},};friendshipManager.addFriendListener(frindshipListener);// 移除关系链监听器friendshipManager.removeFriendListener(frindshipListener);

用户资料管理

查询和修改自己的资料

您可以调用 getUsersInfo (点击查看详情) 接口查询个人资料,其中参数 userIDList 需填入自己的 UserID。您可以调用 setSelfInfo (点击查看详情) 接口修改个人资料。
资料修改成功后,您会收到 onSelfInfoUpdated (点击查看详情) 回调。示例代码如下:

// 获取个人资料const self = await TencentImSDKPlugin.v2TIMManager.getLoginUser();TencentImSDKPlugin.v2TIMManager.getUsersInfo([self.data]);
// 设置个人资料TencentImSDKPlugin.v2TIMManager.setSelfInfo({ nickName: "", role: 0, faceUrl: "",});

查询非好友用户资料

您可以调用 getUsersInfo (点击查看详情) 接口查询非好友资料,其中参数 userIDList 填入非好友的 UserID 即可。说明 不能修改非好友的资料。

查询和修改好友资料

您可以调用 getFriendsInfo (点击查看详情) 接口查询指定的好友资料,从回调信息中通过 V2TIMFriendInfoResultrelation 字段可以得到该用户与自己的关系:

relation 与自己的关系
V2TIM_FRIEND_RELATION_TYPE_NONE 表示不是好友。
V2TIM_FRIEND_RELATION_TYPE_BOTH_WAY 表示互为好友。
V2TIM_FRIEND_RELATION_TYPE_IN_MY_FRIEND_LIST 表示对方在我的好友列表中。
V2TIM_FRIEND_RELATION_TYPE_IN_OTHER_FRIEND_LIST 表示我在对方的好友列表中。
// 获取好友信息const friendsInfo = await friendshipManager.getFriendsInfo(["userID"]);

您可以调用 setFriendInfo (点击查看详情) 接口修改好友备注等资料。

// 设置好友信息TencentImSDKPlugin.v2TIMManager.setSelfInfo({  nickName: "",  role: 0,  faceUrl: "",});

常见问题

增强版获取用户资料为什么不是最新的?

增强版 SDK 中用户资料的更新分好友和陌生人两种情况:好友资料:由于好友资料更新时,后台会主动向 SDK 发送系统通知,因此好友资料可以实时更新。陌生人资料:陌生人资料更新时,由于没有好友关系,后台无法向 SDK 发送系统通知,因此无法实时更新;为了避免每次获取用户资料都向后台发起网络请求,SDK 增加了缓存逻辑,对同一个用户主动向后台拉取资料的时间间隔为 10 分钟。

交流与反馈

点此进入IM社群,享有专业工程师的支持,解决您的难题

对即时通讯IM解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?