即时通信 IM Android&iOS&Windows&Mac(搜索好友)

这篇说说腾讯云IM的本地用户搜索功能,只能搜索已存储的本地用户资料(如好友列表),支持通过关键字搜索userID、nickName、remark字段,需5.4.666及以上版本,旗舰版或企业版可用。 搜索范围:仅限本地存储过的用户,如已拉取的好友列表或用户资料。 调用方式:通过searchFriends接口设置关键字和搜索字段进行搜索。

相关产品
即时通信 IM 产品页,含版本规格、价格与购买入口。

一、功能描述

你只能搜索本地存储过的用户,例如拉取过的好友列表,拉取过的用户资料等。

注意:说明:

二、搜索本地用户资料

调用接口 searchFriends (Java / Swift / Objective-C / C++) 可以搜索本地用户资料。
你可以设置搜索关键字 keywordList,并指定搜索的范围,即是否搜索用户的 userID、nickName、remark 字段。

示例代码如下:

JavaSwiftObjective-CC++V2TIMFriendSearchParam searchParam = new V2TIMFriendSearchParam();searchParam.setKeywordList(keywordList);searchParam.setSearchUserID(true);searchParam.setSearchNickName(true);searchParam.setSearchRemark(true);V2TIMManager.getFriendshipManager().searchFriends(searchParam, new V2TIMValueCallback<List<V2TIMFriendInfoResult>>() { @Override public void onSuccess(List<V2TIMFriendInfoResult> v2TIMFriendInfos) { // 搜索用户资料成功 } @Override public void onError(int code, String desc) { // 搜索用户资料失败 }});let param = V2TIMFriendSearchParam()param.keywordList = ["0", "00"]param.isSearchUserID = trueparam.isSearchRemark = trueparam.isSearchNickName = trueV2TIMManager.shared.searchFriends(searchParam: param) { resultList in resultList.forEach { item in // V2TIMFriendInfoResult print( item.description) }} fail: { code, desc in print( "searchFriends fail, \\(code), \\(desc)")}V2TIMFriendSearchParam *searchParam = [[V2TIMFriendSearchParam alloc] init];searchParam.keywordList = @[@"keyword1", @"keyword2"];searchParam.isSearchUserID = YES;searchParam.isSearchNickName = YES;searchParam.isSearchRemark = YES;[[V2TIMManager sharedInstance] searchFriends:searchParam succ:^(NSArray<V2TIMFriendInfoResult *> *resultList) { // 搜索用户资料成功} fail:^(int code, NSString *desc) { // 搜索用户资料失败}];template <class T>class ValueCallback final : public V2TIMValueCallback<T> {public: using SuccessCallback = std::function<void(const T&)>; using ErrorCallback = std::function<void(int, const V2TIMString&)>; ValueCallback() = default; ~ValueCallback() override = default; void SetCallback(SuccessCallback success_callback, ErrorCallback error_callback) { success_callback_ = std::move(success_callback); error_callback_ = std::move(error_callback); } void OnSuccess(const T& value) override { if (success_callback_) { success_callback_(value); } } void OnError(int error_code, const V2TIMString& error_message) override { if (error_callback_) { error_callback_(error_code, error_message); } }private: SuccessCallback success_callback_; ErrorCallback error_callback_;};V2TIMFriendSearchParam searchParam;searchParam.keywordList = keywordList;searchParam.isSearchUserID = true;searchParam.isSearchNickName = true;searchParam.isSearchRemark = true;auto callback = new ValueCallback<V2TIMFriendInfoResultVector>{};callback->SetCallback( [=](const V2TIMFriendInfoResultVector& friendInfoResultList) { // 搜索用户资料成功 delete callback; }, [=](int error_code, const V2TIMString& error_message) { // 搜索用户资料失败 delete callback; });V2TIMManager::GetInstance()->GetFriendshipManager()->SearchFriends(searchParam, callback);

赞 (0)
上一篇 4天前
下一篇 4天前