体育万博app下载_manbetx客户端网页版_bet万博网站

体育万博app下载_manbetx客户端网页版_bet万博网站跟普通的IM群(微信群,QQ群等)相比最大的不同点在于它是一个比较开放的虚拟组织。我们可以将直播体育万博app下载_manbetx客户端网页版_bet万博网站比喻成一个广场,广场是开放无边界的,所有的人都可以随进随出,而群组就像一个房间,是一个有边界有容量上限的私密组织,并且进入这个房间需要一定条件,一般是主动申请加入或被邀请加入。              

1、相关接口

直播sdk相关接口分2大类别:   

                 

后台Rest提供接口

具体参考文档地址:服务器直播体育万博app下载_manbetx客户端网页版_bet万博网站接口                                  

  • 创建体育万博app下载_manbetx客户端网页版_bet万博网站                                                 
  • 切换体育万博app下载_manbetx客户端网页版_bet万博网站状态(开启/关闭/销毁)
  •                         

    SDK接口文档(本页面提供)                                    

    IOS SDK内部提供的接口: 进入体育万博app下载_manbetx客户端网页版_bet万博网站,体育万博app下载_manbetx客户端网页版_bet万博网站内发送消息,获取体育万博app下载_manbetx客户端网页版_bet万博网站信息,获取体育万博app下载_manbetx客户端网页版_bet万博网站成员列表,获取成员信息,对成员进行禁言、拉黑、踢出,修改个人信息,修改体育万博app下载_manbetx客户端网页版_bet万博网站信息,退出体育万博app下载_manbetx客户端网页版_bet万博网站等接口。

                            

    2、体育万博app下载_manbetx客户端网页版_bet万博网站三种成员角色

    创建者(权限最高)>管理员>普通成员(权限高的能对权限低的做相应处理)。

                                        

  •  创建者:可以对所有成员进行管理,禁言/解除禁言/拉黑/从黑名单移除/踢出/修改体育万博app下载_manbetx客户端网页版_bet万博网站信息。                                    
  •  管理员:只能对成员进行管理,禁言/解除禁言/拉黑/从黑名单移除/踢出。                                        
  •  普通成员:无权限
  • /** 体育万博app下载_manbetx客户端网页版_bet万博网站房间创建者*/
  • LiveChatRoomMemberRole_Creator=1, 
  • /** 体育万博app下载_manbetx客户端网页版_bet万博网站房间管理理者*/
  • LiveChatRoomMemberRole_Admin=2,
  • /** 体育万博app下载_manbetx客户端网页版_bet万博网站房间成员*/
  • LiveChatRoomMemberRole_Member=3, 
  • 3、体育万博app下载_manbetx客户端网页版_bet万博网站管理

    体育万博app下载_manbetx客户端网页版_bet万博网站管理类:ECLiveChatRoomManager查看API

    进入体育万博app下载_manbetx客户端网页版_bet万博网站 

    用户要在体育万博app下载_manbetx客户端网页版_bet万博网站内说话,必须先调用接口进入此体育万博app下载_manbetx客户端网页版_bet万博网站。 用户进入体育万博app下载_manbetx客户端网页版_bet万博网站后,不会收到此体育万博app下载_manbetx客户端网页版_bet万博网站的历史消息推送。

    代码示例

  • /** 
  • @brief 加入体育万博app下载_manbetx客户端网页版_bet万博网站 
  • @param request 加 入体育万博app下载_manbetx客户端网页版_bet万博网站请求类 
  • @param completion 回调, [error 错误信息, roomInfo 房间信息, member 请求加入体育万博app下载_manbetx客户端网页版_bet万博网站的成员信息] 
  • */ 
  • -(void)joinLiveChatRoom:(ECJoinLiveChatRoomRequest *)request completion:(void(^)(ECError *error,ECLiveChatRoomInfo *roomInfo,ECLiveChatRoomMember *membe r))completion; 
  • ECJoinLiveChatRoomRequest *request = [[ECJoinLiveChatRoomRequest alloc] init ]; 
  • request.roomId = @"体育万博app下载_manbetx客户端网页版_bet万博网站房间id"; 
  • request.nickName = @”昵称”; 
  • [[ECDevice sharedInstance].liveChatRoomManager joinLiveChatRoom:request comp letion:^(ECError *error, ECLiveChatRoomInfo *roomInfo, ECLiveChatRoomMember *member) {
  •     if (error.errorCode ==ECErrorType_NoError) {
  •     // 加入成功之后做跳转逻辑 
  •     } else {
  •     // 加入的错误码,详见错误码介绍 
  • }]; 
  • 体育万博app下载_manbetx客户端网页版_bet万博网站内发送消息

    目前只支持发送文本消息,其他消息暂不支持,用户如果想发送其他消息,可以用userdata发送自定义消息。

    代码示例              

  • //1. 构造文本消息体 
  • ECTextMessageBody *messageBody = [[ECTextMessageBody alloc] initWithText:@"你好,欢迎来到云通讯"]; 
  • //2. 构造出具体消息,设置消息接收者、对应的消息体 
  • //发送单聊消息,接收者传对 方的登录账号;发送群组消息,接收者传群组id 
  • ECMessage *message = [[ECMessage alloc] initWithReceiver:@"John的账号Id" body:messageBody]; 
  • NSDate* date = [NSDate dateWithTimeIntervalSinceNow:0]; 
  • NSTimeInterval tmp =[date timeIntervalSince1970]*1000; 
  • //3. 设置消息时间(发送消息是本地时间,接收消息是服务器时间) 
  • message.timestamp = [NSString stringWithFormat:@"%lld",(long long)tmp]; 
  • //4. 消息发送 
  • [[ECDevice sharedInstance].liveChatRoomManager sendLiveChatRoomMessage:message progress:self completion:^(ECError*error, ECMessage *amessage) { 
  • if (error.errorCode == ECErrorType_NoError
  •  {
  • //发送成功处理
  • }else{
  • //失败处理
  • }
  • }];
  • 体育万博app下载_manbetx客户端网页版_bet万博网站接收消息 

    设置 [ECDevice sharedInstance].delegate ,实现以下方法,当收到体育万博app下载_manbetx客户端网页版_bet万博网站消息时会主动调用详见demo ECDeviceDelegateHelper+LiveChatRoom.h。

    代码示例                         

  • - (void)onReceiveLiveChatRoomMessage:(ECMessage *)message {if (message.from.length==0) return;if (message.timestamp) {
  •         NSDate* date = [NSDate dateWithTimeIntervalSinceNow:0];
  •         NSTimeInterval tmp =[date timeIntervalSince1970]*1000;
  •         message.timestamp = [NSString stringWithFormat:@"%lld", (long long)tmp];}
  •         [[NSNotificationCenter defaultCenter] postNotificationName:
  •         KNOTIFICATION_onLiveChatRoomMesssageChanged object:message];
  •         }                      
  •                                                                

    获取体育万博app下载_manbetx客户端网页版_bet万博网站信息 

     此接口可以远程获取体育万博app下载_manbetx客户端网页版_bet万博网站信息,SDK不会缓存体育万博app下载_manbetx客户端网页版_bet万博网站信息,开发者需要根据业务自己做好缓存。

     代码示例

  • /** 
  • @brief 查询体育万博app下载_manbetx客户端网页版_bet万博网站信息 
  • @param roomId 体育万博app下载_manbetx客户端网页版_bet万博网站id 
  • @param completion 回调 [error 错误信息,roomInfo 房间信息] */
  •  
  • -(void)queryLiveChatRoomInfo:(NSString *)roomId completion:(void(^)(ECError *error,ECLiveChatRoomInfo *roomInfo))completion;
  • [[ECDevice sharedInstance].liveChatRoomManager queryLiveChatRoomInfo:self.ro 
  • omId completion:^(ECError *error, ECLiveChatRoomInfo *roomInfo) { 
  •     if (error.errorCode == ECErrorType_NoError) 
  •     {//成功获取体育万博app下载_manbetx客户端网页版_bet万博网站信息
  •     }else{
  •     //获取失败
  •     } 
  • }];                                                                  
  • 修改体育万博app下载_manbetx客户端网页版_bet万博网站信息 

    只有创建者才能修改房间信息,创建者可以修改公告、房间昵称、是否全员禁言等功能。

    代码示例

  • /** 
  • @brief 修改体育万博app下载_manbetx客户端网页版_bet万博网站信息 
  • @param request 修改体育万博app下载_manbetx客户端网页版_bet万博网站请求类 
  • @param completion 回调[error 错误信息, roomInfo 最新体育万博app下载_manbetx客户端网页版_bet万博网站信息] 
  • */ 
  • - (void)modifyLiveChatRoomInfo:(ECModifyLiveChatRoomInfoRequest *)request co mpletion:(void(^)(ECError *error,ECLiveChatRoomInfo *roomInfo))completion; 
  • ECModifyLiveChatRoomInfoRequest *request = [[ECModifyLiveChatRoomInfoRequest alloc] init]; 
  • request.roomId = @"体育万博app下载_manbetx客户端网页版_bet万博网站房间id"; 
  • request.roomName = @"房间名称"; 
  • request.announcement = @"公告"; 
  • //是否全员禁言  
  • request.isAllMuteMode = NO; 
  • request.roomExt = @"透传字段";                                                                    
  • 获取体育万博app下载_manbetx客户端网页版_bet万博网站成员列表 

    此接口可以远程获取体育万博app下载_manbetx客户端网页版_bet万博网站成员列表,SDK不会缓存体育万博app下载_manbetx客户端网页版_bet万博网站成员列表和查询单个成员信息,开发者需要根据业务自己做好缓存。

    代码示例 

  • /** 
  • @brief 查询体育万博app下载_manbetx客户端网页版_bet万博网站成员列列表 
  • @param roomId 体育万博app下载_manbetx客户端网页版_bet万博网站id 
  • @param userId 成员id
  • @param pageSize  页数 
  • @param completion 回调[error 错误信息, userArray 体育万博app下载_manbetx客户端网页版_bet万博网站成员] */
  •  
  • - (void)queryLiveChatRoomMembers:(NSString *)roomId userId:(NSString *)userId pageSize:(NSInteger)pageSize completion:(void(^)(ECError *error,NSArray<EC LiveChatRoomMember *> *userArray))completion; 
  • [[ECDevice sharedInstance].liveChatRoomManager queryLiveChatRoomMembers:self .roomId userId:nil pageSize:10 completion:^(ECError *error, NSArray<ECLiveCh atRoomMember *> *userArray) { 
  •     if (error.errorCode == ECErrorType_NoError) {//获取成功 
  •     }else{//失败处理 
  •     } 
  • }];
  • 获取成员信息 

    当用户需要查看自己或者其他成员信息时,可以调用此接口,访问其他人的信息。代码如下:

    代码示例

  • /** 
  • @brief 查询体育万博app下载_manbetx客户端网页版_bet万博网站单个成员
  • @param roomId 体育万博app下载_manbetx客户端网页版_bet万博网站id 
  • @param userId 成员id 
  • @param completion 回调[error 错误信息, member 查询的成员信息] */
  •  
  • - (void)queryLiveChatRoomMember:(NSString *)roomId userId:(NSString *)userId 
  • completion:(void(^)(ECError *error,ECLiveChatRoomMember *member))completion ; 
  • [[ECDevice sharedInstance].liveChatRoomManager queryLiveChatRoomMember:@"聊天 
  • 室房间id" userId:@"需要查询的成员id" completion:^(ECError *error, ECLiveChatRoo mMember *member) { 
  • if (error.errorCode == ECErrorType_NoError && member) {
  • //查询成功
  • }eles{
  • //查询失败处
  • }];
  • 修改个人信息 

    在当前体育万博app下载_manbetx客户端网页版_bet万博网站房间中设置昵称、透传信息。

    代码示例

  • /** 
  • @brief 修改体育万博app下载_manbetx客户端网页版_bet万博网站成员信息 
  • @param request 修改体育万博app下载_manbetx客户端网页版_bet万博网站成员信息请求类 
  • @param completion 回调 [error 错误信息, member 修改后成员信息] 
  • */

  • -(void)modifyLiveChatRoomSelfInfo:(ECModifyLiveChatRoomMemberInfoRequest *) request completion:(void(^)(ECError *error,ECLiveChatRoomMember *member))com pletion; 
  • ECModifyLiveChatRoomMemberInfoRequest *request = [[ECModifyLiveChatRoomMembe rInfoRequest alloc] init]; 
  • request.roomId = @"体育万博app下载_manbetx客户端网页版_bet万博网站id"; 
  • request.nickName = @"体育万博app下载_manbetx客户端网页版_bet万博网站内昵称"; 
  • request.infoExt = @"透传信息"; 
  • [[ECDevice sharedInstance].liveChatRoomManager modifyLiveChatRoomSelfInfo:request completion:^(ECError *error, ECLiveChatRoomMember *member) { 
  • if (error.errorCode == ECErrorType_NoError)
  •  {//修改成功 
  • } else {
  • //修改失败 
  • }];                                                                   
  • 禁言 

    角色权限高的用户可以对角色权限低的用户设置禁言状态,被禁言的用户将不能发送消息,但可以接收消息。

    代码示例

  • /** 
  • @brief 禁言体育万博app下载_manbetx客户端网页版_bet万博网站成员
  • @param request 禁言体育万博app下载_manbetx客户端网页版_bet万博网站成员请求类 
  • @param completion 回调 
  • */
  •  
  • - (void)forbidLiveChatRoomMember:(ECForbidLiveChatRoomMemberRequest *)reques t completion:(void(^)(ECError *error,ECLiveChatRoomMember *member))completion; 
  • ECForbidLiveChatRoomMemberRequest *request = [[ECForbidLiveChatRoomMemberReq uest alloc] init]; 
  • request.roomId = @"房间id";
  • request.userId = @"待禁言用户id"; 
  • request.isMute = YES;//YES 禁言 NO 取消禁言 
  • [[ECDevice sharedInstance].liveChatRoomManager forbidLiveChatRoomMember:request completion:^(ECError *error, ECLiveChatRoomMember *member) {
  •     if (error.errorCode == ECErrorType_NoError) { 
  •     }else{ 
  •     } 
  • }];
  • 拉黑 

    角色权限高的用户可以对角色权限低的用户设置拉黑状态,被拉黑的用户将不能发送消息,不能接收消息,并且若被移除体育万博app下载_manbetx客户端网页版_bet万博网站,被拉黑的用户将不能加入此房间。

    代码示例

  • /** 
  • @brief 拉 黑体育万博app下载_manbetx客户端网页版_bet万博网站成员 
  • @param request 拉黑体育万博app下载_manbetx客户端网页版_bet万博网站成员请求类 
  • @param completion 回调 
  • */
  •  
  • - (void)dfriendLiveChatRoomMember:(ECDefriendLiveChatRoomMemberRequest *)req uest completion:(void(^)(ECError *error,ECLiveChatRoomMember *member))completion; 
  • ECDefriendLiveChatRoomMemberRequest *request = [[ECDefriendLiveChatRoomMembe rRequest alloc] init]; 
  • request.roomId = @"房间id"; 
  • request.userId = @" 用户id";
  • request.isBlack = YES;//YES 拉 黑 NO 取消拉黑
  • [[ECDevice sharedInstance].liveChatRoomManager dfriendLiveChatRoomMember:request completion:^(ECError *error, ECLiveChatRoomMember *member) { 
  •     if (error.errorCode == ECErrorType_NoError) {
  •     //成功处理
  •     }else{
  •     //失败处理
  •     } 
  • }];                                                      
  • 踢出 

    创建者/管理员可以将成员从该体育万博app下载_manbetx客户端网页版_bet万博网站中进行踢出。

    代码示例

  • /** 
  • @brief 踢出体育万博app下载_manbetx客户端网页版_bet万博网站 
  • @param request 踢出体育万博app下载_manbetx客户端网页版_bet万博网站请求类 
  • @param completion 回调 
  • */ 

  • - (void)kickLiveChatRoomMember:(ECKickLiveChatRoomMemberRequest*)request co mpletion:(void(^)(ECError *error,NSString *userId))completion; 
  • ECKickLiveChatRoomMemberRequest *request = [[ECKickLiveChatRoomMemberRequest alloc] init]; 
  • request.roomId = @"房间id";
  • request.userId = @" 用户id";
  • [[ECDevice sharedInstance].liveChatRoomManager kickLiveChatRoomMember:request completion:^(ECError *error, NSString *userId) { 
  •     if (error.errorCode == ECErrorType_NoError) {
  •     //踢出成功出来 
  •     }else{
  •     //失败处理 
  •     } 
  • }];                                                                   
  • 退出体育万博app下载_manbetx客户端网页版_bet万博网站  

    用户主动退出体育万博app下载_manbetx客户端网页版_bet万博网站,调用此接口。

    代码示例

  • /** 
  • @brief 退出体育万博app下载_manbetx客户端网页版_bet万博网站 
  • @param request 退出体育万博app下载_manbetx客户端网页版_bet万博网站请求类 
  • @param completion 回调 
  • */ 
  • - (void)exitLiveChatRoom:(ECExitLiveChatRoomRequest *)request completion:(vo id(^)(ECError *error,NSString *roomId))completion; 
  • ECExitLiveChatRoomRequest *request = [[ECExitLiveChatRoomRequest alloc] init ]; 
  • request.roomId = @"房间id"; 
  • [[ECDevice sharedInstance].liveChatRoomManager exitLiveChatRoom:request comp letion:^(ECError *error, NSString *roomId) { 
  •     if (error.errorCode != ECErrorType_NoError) {
  •     //退出成功 
  •     } 
  • }];
  • 体育万博app下载_manbetx客户端网页版_bet万博网站内的通知消息 

    当有用户加入,退出,被禁言,被踢出,被拉黑,变更⻆色等操作,体育万博app下载_manbetx客户端网页版_bet万博网站内的成员都会收到通知消息。 在体育万博app下载_manbetx客户端网页版_bet万博网站中所有的通知都以消息 ECLiveChatRoomNoticeMessage 的形式展示,内部 ECLiveChatRoomNoticeType 为不不同类型的通知。 

    设置 [ECDevice sharedInstance].delegate ,实现以下方法,当收到体育万博app下载_manbetx客户端网页版_bet万博网站通知消息时会主动调用。

     

    代码示例

  • /** 
  • 收到体育万博app下载_manbetx客户端网页版_bet万博网站的通知消息 
  • @param msg 通知消息 
  • */ 
  • - (void)onReceiveLiveChatRoomNoticeMessage:(ECLiveChatRoomNoticeMessage *)ms g; 
  • //通过ECLiveChatRoomNoticeMessage 的type字段区分不不同的通知消息体类型