即时通信 IM Android&iOS&Windows&Mac(搜索群成员)

可以以通过群成员 ID、昵称、名片等信息搜索云端群成员。这一功能特别适用于需要快速查找特定群成员的场景,例如在大型群组中快速查找某个群成员信息。

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

一、功能描述

注意:说明:

二、搜索云端群成员接口

你可以调用接口 searchCloudGroupMembers (Java / Swift / Objective-C / C++) 搜索云端群成员。

V2TIMGroupMemberSearchParam 的参数说明如下:

参数 含义 说明
keywordList 关键字列表 关键字列表最多支持 5 个,keyword 会自动匹配群成员 ID、昵称、群名片。
keywordListMatchType 指定关键字列表匹配类型 可设置为 “或” 关系搜索,或 “与” 关系搜索。取值分别为 V2TIM_KEYWORD_LIST_MATCH_TYPE_OR 和 V2TIM_KEYWORD_LIST_MATCH_TYPE_AND。默认为 “或” 关系搜索。
groupIDList 指定群 ID 列表 如果设置 groupIDList 为空,代表搜索全部群中的群成员,返回的结果会按照 groupID 进行分类;如果设置 groupIDList 不为空,代表搜索指定群中的群成员。
searchCount 搜索的数量 必须大于 0,最大支持 100,默认 20。
searchCursor 搜索的游标 搜索的起始位置,第一次填写空字符串,续拉时填写上一次返回的 V2TIMGroupMemberSearchResult 中的 searchCursor。

三、群成员搜索结果类

群成员搜索结果类为 V2TIMGroupMemberSearchResult(Java / Swift / Objective-C / C++) 。参数说明如下:

参数 含义 说明
isFinished 搜索是否已完成 满足搜索条件的群成员列表是否已经全部返回。
totalCount 搜索结果总数 满足搜索条件的群成员总数量。
nextCursor 续拉的游标 调用搜索接口续拉时需要填的游标。
memberList 群成员列表 当前一次云端搜索返回的群成员列表。

示例代码如下:

JavaSwiftObjective-CC++V2TIMGroupMemberSearchParam searchParam = new V2TIMGroupMemberSearchParam();searchParam.setKeywordList(keywordList);searchParam.setKeywordListMatchType(param.V2TIM_KEYWORD_LIST_MATCH_TYPE_OR);searchParam.setGroupIDList(groupIDList);searchParam.setSearchCount(20);searchParam.setSearchCursor("");V2TIMManager.getGroupManager().searchCloudGroupMembers(searchParam, new V2TIMValueCallback<V2TIMGroupMemberSearchResult>() { @Override public void onSuccess(V2TIMGroupMemberSearchResult groupMemberSearchResult) { // 搜索云端群成员成功 } @Override public void onError(int code, String desc) { // 搜索云端群成员失败 }});let param = V2TIMGroupMemberSearchParam()param.keywordList = ["keyword1", "keyword2"];param.keywordListMatchType = .V2TIM_KEYWORD_LIST_MATCH_TYPE_OR;param.groupIDList= ["指定群 ID"];param.searchCount = 20;param.searchCursor = "";V2TIMManager.shared.searchCloudGroupMembers(searchParam: param) { searchResult in // 搜索云端群成员成功} fail: { code, desc in // 搜索云端群成员失败}V2TIMGroupMemberSearchParam *param = [[V2TIMGroupMemberSearchParam alloc] init];param.keywordList = @[@"keyword1", @"keyword2"];param.keywordListMatchType = V2TIM_KEYWORD_LIST_MATCH_TYPE_OR;param.groupIDList= @[@"指定群 ID"];param.searchCount = 20;param.searchCursor = "";[[V2TIMManager sharedInstance] searchCloudGroupMembers:param succ:^(V2TIMGroupMemberSearchResult *searchResult) { // 搜索云端群成员成功} 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_;};V2TIMGroupMemberSearchParam param;param.keywordList = keywordList;param.keywordListMatchType = V2TIM_KEYWORD_LIST_MATCH_TYPE_OR;param.groupIDList = groupIDList;param.searchCount = 20;param.searchCursor = "";auto callback = new ValueCallback<V2TIMGroupMemberSearchResult>{};callback->SetCallback( [=](const V2TIMGroupMemberSearchResult& groupMemberSearchResult) { // 搜索云端群成员成功 delete callback; }, [=](int error_code, const V2TIMString& error_message) { // 搜索云端群成员失败 delete callback; });V2TIMManager::GetInstance()->GetGroupManager()->SearchCloudGroupMembers(param, callback);

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