群组功能
更新时间: 2024/08/16 17:50:08
群组功能概述
群组功能对应的管理类为 NIM.Team.TeamAPI
,提供了高级群 (Advanced) 形式的群聊功能。高级群拥有丰富的权限操作。
高级群拥有完善的成员权限体系及管理功能,群内所有用户根据权限分为群主、管理员、以及群成员。在添加成员的时候需要对方接受邀请。高级群的群成员资料提供了实时同步功能,并提供了群开关设置字段、第三方扩展字段(仅负责存储和透传)和第三方服务器扩展字段(该配置项只能通过服务器接口设置,对客户端只读)。
- 群操作权限对比
群操作 | 高级群 |
---|---|
邀请成员 | 群主、管理员 |
踢出成员 | 群主、管理员(管理员之间无法互相踢) |
解散群 | 群主 |
退群 | 管理员、普通成员 |
处理入群申请 | 群主、管理员 |
更改自己的群昵称 | 任何人 |
更改他人群昵称 | 群主、管理员 |
更改群名称 | 群主、管理员 |
更改群公告 | 群主、管理员 |
更改群介绍 | 群主、管理员 |
更新验证方式 | 群主、管理员 |
添加(删除)管理员 | 群主 |
移交群主 | 群主 |
成员禁言 | 群主、管理员 |
更新群头像 | 群主、管理员 |
群聊消息
群聊消息收发和管理与双人聊天完全相同,仅在消息类型上做了区分,详见消息收发。
群通知事件
- API 介绍
注册该事件监听群信息变更,包括群组的创建、解散、邀请入群、踢出群组等群相关操作的都通过该事件通知给调用者。
NIMTeamEventData
参数说明
类型 | 参数 | 说明 |
---|---|---|
NIMTeamEvent | TeamEvent | 群通知信息内容 |
NIMNotificationType | NotificationId | 群通知类型,暂不要使用该字段,请使用TeamEvent 中的NotificationType 字段 |
NIMTeamEvent
参数说明
类型 | 参数 | 说明 |
---|---|---|
ResponseCode | ResponseCode | 错误码信息,详见ResponseCode |
string | TeamId | 群组id |
NIMNotificationType | NotificationType | 群通知类型,包括创建群、解散群等等(详见NIMNotificationType ) |
List |
IdCollection | 通知可能涉及到的群成员ID,比如增加管理员操作可以添加多个账号,收到通知时ids对应其多个账号 |
List |
InvalidIDList | 通知可能涉及到的失效的群成员ID,比如邀请入群的成员的群数量超限导致当次邀请失败 |
string | Id | 通知对单个成员操作的id,比如禁言群成员,移交群主等操作的被操作方id |
NIMTeamInfo | team_info | 群信息数据 |
NIMTeamMemberInfo | MemberInfo | 群成员信息,比如修改自己的群成员属性时,通过kNIMNotificationIdTeamSyncUpdateMemberProperty 通知类型来通知 |
List<User.UserNameCard> | OperatorNameCards | 通知可能涉及到的群成员的用户名片 |
int | _mute | 通知禁言,1:禁言 0: 解除禁言 |
NIMNotificationType
枚举类型说明
枚举 | 值 | 说明 |
---|---|---|
kNIMNotificationIdTeamLeave | 2 | 退出群,{"uinfos":["uinfo1", "uinfo2"]} |
kNIMNotificationIdTeamUpdate | 3 | 群信息更新,{"tinfo":tinfo,"uinfos":["uinfo1", "uinfo2"]} |
kNIMNotificationIdTeamDismiss | 4 | 群解散,{"uinfos":["uinfo1", "uinfo2"]} |
kNIMNotificationIdTeamApplyPass | 5 | 高级群申请加入成功,{"tinfo":tinfo,"id":"a1","uinfos":["uinfo1", "uinfo2"]} |
kNIMNotificationIdTeamOwnerTransfer | 6 | 高级群移交群主,{"id":"a1","uinfos":["uinfo1", "uinfo2"]} |
kNIMNotificationIdTeamAddManager | 7 | 增加管理员,{"ids":["a1","a2"],"uinfos":["uinfo1", "uinfo2"]} |
kNIMNotificationIdTeamRemoveManager | 8 | 移除管理员,{"ids":["a1","a2"],"uinfos":["uinfo1", "uinfo2"]} |
kNIMNotificationIdTeamInviteAccept | 9 | 高级群接受邀请进群,{"tinfo":tinfo,"id":"a1","uinfos":["uinfo1", "uinfo2"]} |
kNIMNotificationIdTeamMuteMember | 10 | 禁言/解禁群成员,{"uinfos":["uinfo1", "uinfo2"],“tinfo”:tinfo,"id":"a1","mute":1-禁言,0-解禁} |
kNIMNotificationIdNetcallMiss | 101 | 未接电话(暂不支持),{"calltype":1,"channel":6146078138783760761,"from":"id1","ids":["id1","id2"],"time":1430995380471} |
kNIMNotificationIdNetcallBill | 102 | 话单(暂不支持),{"calltype":2,"channel":6146077129466446197,"duration":8,"ids":["id1","id2"],"time":1430995117398} |
kNIMNotificationIdTeamSyncCreate | 1000 | 创建群{"tinfo" : tinfo} |
kNIMNotificationIdTeamMemberChanged | 1001 | 群成员变更{"team_member" : team_member_info} |
kNIMNotificationIdTeamSyncUpdateMemberProperty | 1002 | 同步通知:修改自己的群属性{"team_member" : team_member_info} 目前只需kNIMTeamUserKeyNick和kNIMTeamUserKeyBits,接收到该通知时,MemberInfo 字段会通知更新的信息 |
kNIMNotificationIdLocalCreateTeam | 2000 | 本地操作创建群 {"ids" : ["a1", "a2"]} |
kNIMNotificationIdLocalApplyTeam | 2001 | 本地操作申请加入群 |
kNIMNotificationIdLocalRejectApply | 2002 | 本地操作拒绝申请 {"id":"a1"} |
kNIMNotificationIdLocalRejectInvite | 2003 | 本地操作拒绝邀请 {"id":"a1"} |
kNIMNotificationIdLocalUpdateMemberProperty | 2004 | 本地操作更新群成员属性 |
kNIMNotificationIdLocalUpdateOtherNick | 2005 | 本地操作更新他人nickname |
kNIMNotificationIdLocalGetTeamList | 2007 | 本地操作获取群成员信息 |
kNIMNotificationIdLocalMuteMember | 2008 | 本地操作对群成员禁言 |
kNIMNotificationIdLocalNetcallReject | 3103 | 拒绝电话(暂不支持),{"calltype":1,"channel":6146078138783760761,"from":"id1","ids":["id1","id2"],"time":1430995380471} |
kNIMNotificationIdLocalNetcallNoResponse | 3104 | 无应答,未接通电话(暂不支持),{"calltype":1,"channel":6146078138783760761,"from":"id1","ids":["id1","id2"],"time":1430995380471} |
- API 原型
public static EventHandler<NIMTeamEventArgs> TeamEventNotificationHandler;
- 示例
void OnTeamEventNotification(object sender,NIMTeamEventArgs args)
{
if (args != null && args.Data != null)
{
...
}
}
//注册事件监听
NIM.Team.TeamAPI.TeamEventNotificationHandler += OnTeamEventNotification;
//不需要时,取消事件监听
NIM.Team.TeamAPI.TeamEventNotificationHandler -= OnTeamEventNotification;
获取群组
NIM SDK 在程序启动时会对本地群信息进行同步,所以只需要调用本地缓存接口获取群就可以了。 SDK 提供了批量获取自己的群接口、以及根据单个群 id 查询的接口。同样 SDK 也提供了远程获取群信息的接口。
类NIMTeamInfo
封装了群信息。
NIMTeamInfo
参数说明
类型 | 参数 | 说明 |
---|---|---|
string | TeamId | 群组id |
string | Name | 群组名称 |
NIMTeamType | TeamType | 群组类型,详见NIMTeamType |
string | OwnerId | 群组的拥有者或创建者 |
int | Level | 群组等级 |
string | Property | 群组属性预留扩展字段,长度限制:6000字符 |
int | IsValid | 此群组是否有效,1为有效,0为无效 |
int | MembersCount | 群成员数量 |
long | MemberListTimetag | 群成员列表最新更新时间戳(毫秒) |
long | CreatedTimetag | 群组创建时间戳(毫秒) |
long | UpdatedTimetag | 群信息最新更新时间戳(毫秒) |
int | IsMemberValid | 该群的群成员列表是否还有效 |
string | Introduce | 群组简介 |
string | Announcement | 群公告 |
NIMTeamJoinMode | JoinMode | 入群模式,详见NIMTeamJoinMode (仅高级群) |
string | Custom | 第三方扩展字段,仅负责存储和透传 |
string | ServerCustom | 服务器预留扩展字段(该配置项只能通过服务器接口设置,对客户端只读)(仅高级群) |
string | TeamIcon | 群头像 |
NIMTeamBeInviteMode | BeInvitedMode | 被邀请人同意方式,属性本身只有群主管理员可以修改 ,0-需要同意(默认),1-不需要同意(仅高级群) |
NIMTeamInviteMode | InvitedMode | 谁可以邀请他人入群,属性本身只有群主管理员可以修改,0-管理员(默认),1-所有人(仅高级群) |
NIMTeamUpdateInfoMode | UpdateMode | 谁可以修改群资料,属性本身只有群主管理员可以修改,0-管理员(默认),1-所有人(仅高级群) |
NIMTeamUpdateCustomMode | UpdateCustomMode | 谁可以更新群自定义属性,属性本身只有群主管理员可以修改(仅高级群) |
int | MuteAll | 群全员禁言标记 0:未禁言,1:禁言(仅高级群)(暂不支持) |
注意:当用户退出群或被踢出群或群解散后,IsMemberValid 值为0,对于当前用户而言,此群已不再是此用户的有效群。
NIMTeamMemberInfo
参数说明
类型 | 参数 | 说明 |
---|---|---|
string | TeamId | 群组id |
string | AccountId | 群成员账号 |
NIMTeamUserType | Type | 群成员类型,详见NIMTeamUserType |
long | CreatedTimetag | 入群时间戳 |
long | UpdatedTimetag | 群成员信息更新时间戳 |
bool | IsValid | 群成员是否有效,如果已退群等 则为false |
string | NickName | 群成员昵称 |
long | ConfigBits | 配置属性,当前仅用来设置消息提醒,详见NotifyNewMessage 方法设置 |
string | Custom | 自定义第三方扩展信息 |
bool | Muted | 是否禁言,true:禁言,false:取消禁言(默认) |
bool | NotifyNewMessage | 设置消息提醒 |
本地获取群列表
SDK最新版本在当用户不在该群组或该群组已经解散时,本地数据库不再清除该缓存的数据,所以同时提供了查询有效群和查询所有群(包含无效群)的接口。
1. 获取有效群信息列表
- API 原型
public static void QueryMyValidTeamsInfo(QueryMyTeamsInfoResultDelegate action);
- 参数说明
参数 | 说明 |
---|---|
action | 通知结果回调 |
- 示例
//获取有效群信息列表
NIM.Team.TeamAPI.QueryMyValidTeamsInfo((infoList)=>{
if (infoList != null)
{
...
}
});
2. 获取本人所在群列表
- API 介绍
仅获取本人所在群的群id列表,
- API 原型
public static void QueryAllMyTeams(QueryMyTeamsResultDelegate action);
- 参数说明
参数 | 说明 |
---|---|
action | 通知结果回调 |
- 示例
//获取本人所在群id列表
NIM.Team.TeamAPI.QueryAllMyTeams(count,countIdList)=>{
//count:查询到的群id总数,countIdList: 群id数组
if (countIdList != null)
{
...
}
});
3. 获取所有群信息列表(包含无效的群)
- API 原型
public static void QueryAllMyTeamsInfo(QueryMyTeamsInfoResultDelegate action);
- 参数说明
参数 | 说明 |
---|---|
action | 通知结果回调 |
- 示例
//获取所有群信息列表
NIM.Team.TeamAPI.QueryAllMyTeamsInfo((infoList)=>{
if (infoList != null)
{
...
}
});
获取群信息
SDK提供了同步和异步两个版本来获取本地的群信息,也提供了直接获取云端的群信息的接口。
1. 获取本地群信息(同步版本)
- API 原型
public static NIMTeamInfo QueryCachedTeamInfo(string tid);
- 参数说明
参数 | 说明 |
---|---|
tid | 所要获取的群id |
- 示例
//获取本地群信息
string tid = "1243354";
NIMTeamInfo tinfo = NIM.Team.TeamAPI.QueryCachedTeamInfo(tid);
2.获取本地群信息(异步版本)
- API 原型
public static void QueryCachedTeamInfo(string tid, QueryCachedTeamInfoResultDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 所要获取的群id |
action | 通知结果回调 |
- 示例
//获取本地群信息
string tid = "1243354";
NIM.Team.TeamAPI.QueryCachedTeamInfo(tid,(tid,tinfo)=>{
....
});
3.获取云端群信息
- API 原型
public static void QueryTeamInfoOnline(string tid, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 所要获取的群id |
action | 通知结果回调 |
- 示例
//获取云端群信息
string tid = "1243354";
NIM.Team.TeamAPI.QueryTeamInfoOnline(tid,(teamEventData)=>{
....
});
获取云端禁言列表
- API 原型
public static void QueryMutedListOnlineAsync(string tid, QueryTeamMutedListDelegate cb);
- 参数说明
参数 | 说明 |
---|---|
tid | 所要获取的群id |
action | 通知结果回调 |
- 示例
//获取云端的群禁言列表
string tid = "1243354";
NIM.Team.TeamAPI.QueryMutedListOnlineAsync(tid,(res,count,id, members)=>{
....
});
群成员信息
SDK支持获取群成员列表信息,也支持获取单个群成员的信息。获取单个群成员信息分别提供同步版本和异步版本的接口,以方便开发者调用。
获取群成员列表
SDK支持查询指定群的有效群成员列表,也支持查询已经退出群的本地群成员。
- API 原型
public static void QueryTeamMembersInfo(string tid, bool includeMemberInfo, bool includeInvalidMember, QueryTeamMembersInfoResultDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 所要获取的群id |
includeMemberInfo | 是否查询群成员的成员信息,true:查询,false:不查询。如果不查询群成员信息,则返回的群成员列表infoList 仅群成员id是有效的 |
includeInvalidMember | 是否需要查询已经不在本群的本地群成员数据,true:需要 false:不需要 |
action | 通知结果回调 |
- 示例
//获取群有效群成员信息
string tid = "1243354";
NIM.Team.TeamAPI.QueryTeamMembersInfo(tid,true,false(tid,memberCount, includeUserInfo,infoList)=>{
//infoList:查询返回的群成员信息列表,includeUserInfo为false时,infoList仅查询群成员id
....
});
获取群成员信息
1. 获取群成员信息(同步版本)
- API 原型
public static NIMTeamMemberInfo QuerySingleMemberInfo(string tid, string uid);
- 参数说明
参数 | 说明 |
---|---|
tid | 所要获取的群id |
uid | 所要获取的群成员id |
- 示例
//获取群成员test1信息
string tid = "1243354";
string uid = "test1";
NIMTeamMemberInfo tinfo = NIM.Team.TeamAPI.QuerySingleMemberInfo(tid,uid);
2.获取群成员信息(异步版本)
- API 原型
public static void QuerySingleMemberInfo(string tid, string uid, QuerySingleMemberResultDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 所要获取的群id |
uid | 所要获取的群成员id |
action | 通知结果回调 |
- 示例
//获取群成员test1信息
string tid = "1243354";
string uid = "test1";
NIM.Team.TeamAPI.QuerySingleMemberInfo(tid,uid,(tinfo)=>{
....
});
创建群组
NIMTeamInfo
包含群组的详细信息,通过设置该对象可以指定群类型,群组权限,群资料等信息;如果设置了 postscript,会发送给群中的每个成员。
- API 原型
public static void CreateTeam(NIMTeamInfo teamInfo, string[] idList, string postscript, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
teamInfo | 所创建群的基本信息,如群名,群公告等等 |
idList | 创建群组时同时需要加入群的用户账号,不包括自己账号,系统自动会发送邀请给idList所有成员 |
postscript | 邀请附言信息 |
action | 通知结果回调 |
- 示例
//以测试账号test1,test2为例
NIMTeamInfo ti = new NIMTeamInfo {
Name = "teamName",
Announcement = "群公告",
Introduce = "群简介",
TeamType = NIMTeamType.kNIMTeamTypeAdvanced
};
string[] ids = new string[]();
ids.add("test1");
ids.add("test2");
NIM.Team.TeamAPI.CreateTeam(ti,ids,"附言信息",(data)=>{
....
});
加入群组
用户可以通过被动接受邀请和主动加入两种方式进入群组。
邀请用户入群
- API 介绍
请求完成后,云信服务器会下发一条系统消息到目标用户,目标用户可以选择同意或者拒绝入群。
- API 原型
public static void Invite(string tid, string[] idList, string postscript, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 群id |
idList | 创建群组时同时需要加入群的用户账号,不包括自己账号 |
postscript | 邀请附言信息,如果不为空,此信息会通知给被邀请的好友 |
action | 通知结果回调 |
- 示例
//以测试账号test1,test2为例
string tid = "1231232";
string[] ids = new string[]();
ids.add("test1");
ids.add("test2");
NIM.Team.TeamAPI.Invite(tid,ids,"附言信息",(data)=>{
....
});
收到通知后,高级群用户可以进行以下操作:
- 同意群邀请(仅限高级群):
public static void AcceptTeamInvitation(string tid, string invitor, TeamChangedNotificationDelegate action)
代码示例
//以测试群1231232,邀请者账号testAccount为例
string tid = "1231232";
string invitor_uid = "testAccount";//填写邀请方的id
NIM.Team.TeamAPI.AcceptTeamInvitation(tid,invitor_uid,(data)=>{
....
});
- 拒绝群邀请(仅限高级群):
public static void RejectTeamInvitation(string tid, string invitor, string reason, TeamChangedNotificationDelegate action)
代码示例
//以测试群1231232,邀请者账号testAccount为例
string tid = "1231232";
string invitor_uid = "testAccount";//填写邀请方的id
NIM.Team.TeamAPI.RejectTeamInvitation(tid,invitor_uid,"拒绝原因"(data)=>{
....
});
用户主动申请入群
- API 介绍
发送请求后,云信服务器会下发一条系统消息给群管理员,管理员可以选择通过或者拒绝申请。仅高级群支持。
- API 原型
public static void ApplyForJoiningTeam(string tid, string reason, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 群id |
reason | 申请附言信息,如果不为空,此信息会通知给被群管理人员 |
action | 通知结果回调 |
- 示例
//以测试群1231232为例
string tid = "1231232";
NIM.Team.TeamAPI.ApplyForJoiningTeam(tid,"申请附言",(data)=>{
....
});
群管理人员可以进行一下操作:
- 通过申请(仅限高级群):
public static void AgreeJoinTeamApplication(string tid, string uid, TeamChangedNotificationDelegate action)
代码示例:
//以测试群1231232,测试账号test1为例
string tid = "1231232";
string uid = "test1";//申请者的账号
NIM.Team.TeamAPI.AgreeJoinTeamApplication(tid,uid,(data)=>{
....
});
- 拒绝申请(仅限高级群):
public static void RejectJoinTeamApplication(string tid, string uid, string reason, TeamChangedNotificationDelegate action)
代码示例:
//以测试群1231232,测试账号test1为例
string tid = "1231232";
string uid = "test1";//申请者的账号
string reason = "因为你不够美";//拒绝理由
NIM.Team.TeamAPI.RejectJoinTeamApplication(tid,uid,reason,(data)=>{
....
});
退出群组
退出群组包括主动退出群组和被动退出。群管理员和群主都拥有踢出群的权限。被踢出群后,会收到系统通知,通过群通知事件通知给用户。
- API 原型
public static void LeaveTeam(string tid, TeamChangedNotificationDelegate action)
- 参数说明
参数 | 说明 |
---|---|
tid | 群id |
action | 通知结果回调 |
- 示例
//以测试群1231232为例
string tid = "1231232";
NIM.Team.TeamAPI.LeaveTeam(tid,(data)=>{
....
});
解散群
高级群群主拥有解散群的权限,其他成员均没有此权限。
- API 原型
public static void DismissTeam(string tid, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 群id |
action | 通知结果回调 |
- 示例
//以测试群1231232为例
string tid = "1231232";
NIM.Team.TeamAPI.DismissTeam(tid,(data)=>{
....
});
踢人出群
群主可以踢出任何群成员,高级群管理员可以踢出普通的群成员。
- API 原型
public static void KickMemberOutFromTeam(string tid, string[] idList, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 群id |
idList | 被踢出的群成员id列表 |
action | 通知结果回调 |
- 示例
//以测试群1231232,测试账号test1,test2为例
string tid = "1231232";
string[] idList = new string[]();
idList.add("test1");
idList.add("test2");
NIM.Team.TeamAPI.KickMemberOutFromTeam(tid,idList,(data)=>{
....
});
群成员禁言
支持管理员和群主对普通成员的禁言、解除禁言操作。
- API 原型
public static void SetMemberMuted(string tid, string memberId, bool muted, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 群id |
memberId | 禁言/解除禁言的群成员id |
muted | 是否禁言,true:禁言,false:解除禁言 |
action | 通知结果回调 |
- 示例
//以测试群1231232,测试账号test1为例
string tid = "1231232";
string uid = "test1";
NIM.Team.TeamAPI.SetMemberMuted(tid,uid,true,(data)=>{
....
});
编辑群组资料
- API 介绍
群成员都可以修改群名等信息,高级群只有管理员才有权限修改。
- API 原型
public static void UpdateTeamInfo(string tid, NIMTeamInfo info, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 群id |
info | 群信息,只填入需要修改的字段,不需要修改的不填 |
action | 通知结果回调 |
- 示例
//以修改群名称为例
string tid = "1231232";
NIMTeamInfo ti = new NIMTeamInfo
{
TeamId = tid,
Name = "newTeamName"
};
NIM.Team.TeamAPI.UpdateTeamInfo(tid,ti,(data)=>{
....
});
修改群成员信息
SDK提供允许管理员修改他人在群内的昵称,也允许用户修改自己在群内的信息
更新本人的群成员资料
- API 介绍
群内成员可以修改本人的资料信息。
- API 原型
public static void UpdateMyTeamProperty(NIMTeamMemberInfo info, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
info | 群信成员息,最好能先通过接口获取本人的完整的群成员信息,然后再将需要修改的字段更新为新的值,TeamId 、AccountId 字段必填 |
action | 通知结果回调 |
- 示例
//以修改群名称为例
string tid = "1231232";
//群成员信息最好是先通过接口获取本人的完整的群成员信息,然后再将需要修改的字段更新为新的值,此处仅为示例。
NIMTeamMemberInfo tmi = new NIMTeamMemberInfo
{
TeamId = tid,
NickName = "newNick",
AccountId = "myUid" //本人账号;
};
NIM.Team.TeamAPI.UpdateMyTeamProperty (tmi, (data)=>
{
....
});
修改其他成员的群昵称
- API 介绍
群管理员和群主可以修改其他成员的群昵称。
- API 原型
public static void UpdateMemberNickName(NIMTeamMemberInfo info, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
info | 群成员信息,TeamId 、AccountId 字段必填,NickName 可为空 |
action | 通知结果回调 |
- 示例
//以修改群名称为例
string tid = "1231232";
//群成员信息最好是先通过接口获取本人的完整的群成员信息,然后再将需要修改的字段更新为新的值,此处仅为示例。
NIMTeamMemberInfo tmi = new NIMTeamMemberInfo
{
TeamId = tid,
NickName = "newNick",
AccountId = "test1" //对方账号;
};
NIM.Team.TeamAPI.UpdateMemberNickName (tmi, (data)=>
{
....
});
群组权限管理
SDK提供了对高级群的权限管理功能,仅管理员和群主可以进行操作。可以增加,移除管理员,转让群主等。
添加管理员
- API 介绍
将 managerIdArray
中包含的账号全部设置为群管理员
- API 原型
public static void AddTeamManagers(string tid, string[] managerIdArray, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 群id |
managerIdArray | 群成员账号id数组 |
action | 通知结果回调 |
- 示例
//以测试群1231232,测试账号test1,test2为例
string tid = "1231232";
string[] idList = new string[]();
idList.add("test1");
idList.add("test2");
NIM.Team.TeamAPI.AddTeamManagers(tid,idList,(data)=>{
....
});
移除管理员
- API 介绍
将 managerIdArray
中包含的账号全部移除群管理员身份
- API 原型
public static void RemoveTeamManagers(string tid, string[] managerIdArray, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 群id |
managerIdArray | 群成员账号id数组 |
action | 通知结果回调 |
- 示例
//以测试群1231232,测试账号test1,test2为例
string tid = "1231232";
string[] idList = new string[]();
idList.add("test1");
idList.add("test2");
NIM.Team.TeamAPI.RemoveTeamManagers(tid,idList,(data)=>{
....
});
移交群主
- API 介绍
将群主转让给其他群成员。leaveTeam
为true时,移交成功后,同时退出本群。
- API 原型
public static void TransferTeamAdmin(string tid, string newOwnerId, bool leaveTeam, TeamChangedNotificationDelegate action);
- 参数说明
参数 | 说明 |
---|---|
tid | 群id |
leaveTeam | 是否移交群主成功后退出该群。true:移交群主并退出该群,false:移交群主但不退出本群 |
newOwnerId | 新的群主账号id |
action | 通知结果回调 |
- 示例
//以测试群1231232,测试账号test1
string tid = "1231232";
string newOwnerId = "test1";
NIM.Team.TeamAPI.TransferTeamAdmin(tid,newOwnerId,true,(data)=>{
....
});