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

从v5.3.2版本开始,sdk增加体育万博app下载_manbetx客户端网页版_bet万博网站功能,推出直播领域消息解决方案。                                

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

1、相关接口

sdk相关接口分2大类别:                                

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

  •  创建体育万博app下载_manbetx客户端网页版_bet万博网站,参考demo中的CreateRoomUI 类。                                    
  •  切换体育万博app下载_manbetx客户端网页版_bet万博网站状态(开启/关闭/销毁),参考demo中的ECLIveChatRoomListUI 类。
  •                             

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

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

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

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

    (1) 创建者:可以对所有成员进行管理,包括禁言/解除禁言/拉黑/从黑名单移除/踢出/修改体育万博app下载_manbetx客户端网页版_bet万博网站信息。                                        

    (2) 管理员:只能对成员进行管理,禁言/解除禁言/拉黑/从黑名单移除/踢出。                                        

    (3) 普通成员:无权限                                                                                            

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

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

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

    用户要在体育万博app下载_manbetx客户端网页版_bet万博网站内说话,必须先调用接口进入此体育万博app下载_manbetx客户端网页版_bet万博网站,之后便可以进行沟通。

    API介绍

  • void joinLiveChatRoom(java.lang.String roomId,
  •                       ECLiveChatRoomMemberInfoBuilder info,
  •                       ECLiveNotifyWrapper notifyWrapper,
  •                       ECLiveCallBack.OnEnterLiveChatRoomListener listener)
  • 加入体育万博app下载_manbetx客户端网页版_bet万博网站
  • 参数:
  • roomId - 体育万博app下载_manbetx客户端网页版_bet万博网站房间号
  • info - 加入房间进去的透传信息
  • notifyWrapper - 通知透传信息
  • listener - 监听
  • 代码示例

  • //构建进入体育万博app下载_manbetx客户端网页版_bet万博网站透传信息对象、设置昵称与透传信息
  • ECLiveChatRoomMemberInfoBuilder infoBuilder = 
  •         new ECLiveChatRoomMemberInfoBuilder(用户的账号, 用户自己构建的透传信息);
  • //获得SDK体育万博app下载_manbetx客户端网页版_bet万博网站管理类
  • ECLiveChatRoomManager roomManager = ECDevice.getECLiveChatRoomManager();                 
  •     if(roomManager==null){
  •              return;
  •     }
  •     //调用加入房间,传入相应的参数
  •     roomManager.joinLiveChatRoom(房间id, infoBuilder, 透传通知其他人信息, 
  •                                         new ECLiveCallBack.OnEnterLiveChatRoomListener() {
  •         @Override
  •         public void onEnterResult(ECError error, ECLiveChatRoom liveChatRoom,
  •                                                 ECLiveChatRoomMember member) {
  •                  if (error.errorCode == SdkErrorCode.REQUEST_SUCCESS) {
  •                     //进入房间成功
  •                    // do 业务逻辑    
  •                  } else {
  •                      //进入房间失败
  •                   // do 业务逻辑
  •                  }
  •          }
  • });               
  • 体育万博app下载_manbetx客户端网页版_bet万博网站内发送消息 

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

    API介绍

  • java.lang.String sendLiveChatRoomMessage(ECMessage message,
  •                                          ECLiveCallBack.OnSendLiveChatRoomMessageListener listener)
  • 在体育万博app下载_manbetx客户端网页版_bet万博网站发送消息
  • 参数:
  • message - 消息对象
  • listener - 回调接口
  • 代码示例

  • //创建一个文本消息体,并添加到消息对象中
  • ECMessage msg = ECMessage.createECMessage(ECMessage.Type.TXT);
  • //创建消息对象
  • ECTextMessageBody msgBody = new ECTextMessageBody(text.toString());
  • msg.setBody(msgBody);        
  •         //获得SDK体育万博app下载_manbetx客户端网页版_bet万博网站管理类
  •         ECLiveChatRoomManager roomManager = ECDevice.getECLiveChatRoomManager();
  •         if(roomManager==null){
  •             return;
  •         }
  •         //调用发送消息的方法,传入相应的参数
  •         roomManager.sendLiveChatRoomMessage(msg, new OnSendLiveChatRoomMessageListener() {
  •             @Override
  •             public void onSendResult(ECError error, ECMessage message){
  •                 if (error.errorCode == SdkErrorCode.REQUEST_SUCCESS){                   
  •                 }
  •             }
  •         });                                                                                       
  • 获取体育万博app下载_manbetx客户端网页版_bet万博网站信息

    通过查询体育万博app下载_manbetx客户端网页版_bet万博网站信息、获取当前在线人数、体育万博app下载_manbetx客户端网页版_bet万博网站名称等信息用于界面UI展示。

    API介绍

  • void queryLiveChatRoomInfo(java.lang.String roomId,
  •                            ECLiveCallBack.OnQueryLiveChatRoomInfoListener listener)
  • 查询体育万博app下载_manbetx客户端网页版_bet万博网站信息
  • 参数:
  • roomId - 体育万博app下载_manbetx客户端网页版_bet万博网站房间号
  • listener - 回调监听
  •  代码示例

  • //获得SDK体育万博app下载_manbetx客户端网页版_bet万博网站管理类
  • ECLiveChatRoomManager roomManager =  ECDevice.getECLiveChatRoomManager();
  •         if(roomManager==null){
  •             return;
  •         }
  •     //调用获取方法,传入相应参数
  •     roomManager.queryLiveChatRoomInfo(房间id, new ECLiveCallBack.OnQueryLiveChatRoomInfoListener() {
  •             @Override
  •             public void onQueryLiveChatRoom(ECError error, ECLiveChatRoom liveChatRoom) {
  •                 if (error.errorCode == SdkErrorCode.REQUEST_SUCCESS) {
  •                              //查询成功
  •                    } else {
  •                            //查询失败
  •                           }
  •                        }
  •               });       
  • 修改体育万博app下载_manbetx客户端网页版_bet万博网站信息 

    创建者可以修改当前体育万博app下载_manbetx客户端网页版_bet万博网站的展示信息。

    API介绍

  •  void modifyLiveChatRoomInfo(ECLiveChatRoomModifyBuilder builder,
  •                             ECLiveNotifyWrapper notifyWrapper,
  •                             ECLiveCallBack.OnUpdateLiveChatRoomListener listener)
  • 修改体育万博app下载_manbetx客户端网页版_bet万博网站信息
  • 参数:
  • builder - 构建修改体育万博app下载_manbetx客户端网页版_bet万博网站修改封装
  • notifyWrapper - 修改时通知成员包装对象
  • listener - 回调
  • 代码示例

  • //构建修改体育万博app下载_manbetx客户端网页版_bet万博网站对象        
  • ECLiveChatRoomModifyBuilder builder = new ECLiveChatRoomModifyBuilder(体育万博app下载_manbetx客户端网页版_bet万博网站id,
  •                  体育万博app下载_manbetx客户端网页版_bet万博网站昵称, 体育万博app下载_manbetx客户端网页版_bet万博网站描述, 体育万博app下载_manbetx客户端网页版_bet万博网站透传展示信息, 声音模式);
  • //获得SDK体育万博app下载_manbetx客户端网页版_bet万博网站管理类
  • ECLiveChatRoomManager roomManager = ECDevice.getECLiveChatRoomManager();
  • if(roomManager==null){
  •     return;
  • }
  • //构建通知对象
  • ECLiveNotifyWrapper notifyWrapper = new ECLiveNotifyWrapper(设置通知透传信息, 是否通知其他人);
  • //调用修改方法,传入对象
  • roomManager.modifyLiveChatRoomInfo(builder, notifyWrapper, 
  •                         new ECLiveCallBack.OnUpdateLiveChatRoomListener() {
  •     @Override
  •     public void onResult(ECError ecError) {
  •     }
  • });                                                                    
  • 获取体育万博app下载_manbetx客户端网页版_bet万博网站成员列表 

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

    API介绍

  • void queryLiveChatRoomMembers(ECLiveSearchMembersConditionBuilder builder,
  •                               ECLiveCallBack.OnQueryLiveChatRoomMembersListener listener)
  • 查询体育万博app下载_manbetx客户端网页版_bet万博网站成员列表
  • 参数:
  • builder - 查询体育万博app下载_manbetx客户端网页版_bet万博网站成员封装
  • listener - 回调
  • 代码示例

  • //获得SDK体育万博app下载_manbetx客户端网页版_bet万博网站管理类
  • ECLiveChatRoomManager roomManager = ECDevice.getECLiveChatRoomManager();
  • if(roomManager==null){
  •     return;
  • }
  • //创建查询对象
  • ECLiveSearchMembersConditionBuilder builder = new ECLiveSearchMembersConditionBuilder(查询的房间号,"", 
  •                                         查询的成员角色,分页数第几页);
  •    //调用查询方法,传入对象
  •    roomManager.queryLiveChatRoomMembers(builder,new ECLiveCallBack.OnQueryLiveChatRoomMembersListener(){
  •             @Override
  •             public void onQueryResult(ECError error, ArrayList list){
  •                 if(error.errorCode==SdkErrorCode.REQUEST_SUCCESS){
  •                     }else{
  •                 }
  •             }
  •         });
  •     }                                                                                                  
  • 获取成员信息 

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

    API介绍

  • void queryLiveChatRoomMember(java.lang.String roomId,
  •                              java.lang.String userId,
  •                              ECLiveCallBack.OnQuerySingleLiveChatRoomMembersListener listener)
  • 查询体育万博app下载_manbetx客户端网页版_bet万博网站里面单个成员信息
  • 参数:
  • roomId - 房间号
  • userId - 被查询的成员的账号
  • listener - 回调
  • 代码示例                                     

  • //获得SDK体育万博app下载_manbetx客户端网页版_bet万博网站管理类
  • ECLiveChatRoomManager roomManager = ECDevice.getECLiveChatRoomManager();
  •                             if(roomManager==null){
  •                                 return;
  •                             }
  •     //调用获取成员信息,传入相应参数
  •     roomManager.queryLiveChatRoomMember(房间号, 查询成员的账号, 
  •                              new ECLiveCallBack.OnQuerySingleLiveChatRoomMembersListener() {
  •         @Override
  •         public void onQueryResult(ECError error, ECLiveChatRoomMember member){
  •         }
  •     });                                                                 
  • 修改个人信息 

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

    API介绍

  • void modifyLiveChatRoomSelfInfo(java.lang.String roomId,
  •                                 ECLiveChatRoomMemberInfoBuilder info,
  •                                 ECLiveCallBack.OnUpdateSelfInfoListener listener)
  • 体育万博app下载_manbetx客户端网页版_bet万博网站修改个人信息
  • 参数:
  • roomId - 房间号
  • info - 个人透传信息
  • listener - 回调
  • 代码示例

  • //创建成员信息对象
  • ECLiveChatRoomMemberInfoBuilder modifySelfInfo = new ECLiveChatRoomMemberInfoBuilder(个人设置的昵称,个人设置的透传信息);
  •     //获得SDK体育万博app下载_manbetx客户端网页版_bet万博网站管理类
  •     ECLiveChatRoomManager roomManager = ECDevice.getECLiveChatRoomManager();
  •     if(roomManager==null){
  •         return;
  •     }
  •     //调用修改个人信息方法
  •     roomManager.modifyLiveChatRoomSelfInfo(体育万博app下载_manbetx客户端网页版_bet万博网站id, modifySelfInfo, 
  •                                             new ECLiveCallBack.OnUpdateSelfInfoListener() {
  •         @Override
  •         public void onResult(ECError error) {
  •             if (error.errorCode == SdkErrorCode.REQUEST_SUCCESS) {
  •                  // do 业务逻辑    
  •             } else {
  •                  // do 业务逻辑
  •             }
  •         }
  •     });                                       
  • 对体育万博app下载_manbetx客户端网页版_bet万博网站成员进行禁言/解除禁言 

    创建者、管理员可以对成员进行禁言/解除禁言/加入黑名单/从黑名单移除处理。

    API介绍

  •  void forbidLiveChatRoomMember(java.lang.String roomId,
  •                               java.lang.String userId,
  •                               ECLiveControlOption controlOption,
  •                               ECLiveNotifyWrapper notifyWrapper,
  •                               ECLiveCallBack.OnControlMemberStateListener listener)
  • 在体育万博app下载_manbetx客户端网页版_bet万博网站里面对成员禁言
  • 参数:
  • roomId - 房间号
  • userId - 被禁言的人的账号
  • controlOption - 控制封装
  • notifyWrapper - 通知对象
  • listener - 回调
  • 代码示例               

  •  //获得SDK体育万博app下载_manbetx客户端网页版_bet万博网站管理类
  •  ECLiveChatRoomManager roomManager = ECDevice.getECLiveChatRoomManager();
  •  if(roomManager==null){
  •        return;
  •  }
  •  //设置禁言时间和操作类型
  •  ECLiveControlOption option = new ECLiveControlOption(时长[在禁言状态有效],被设置的类型);
  •  //调用禁言的方法
  •  roomManager.forbidLiveChatRoomMember(房间id, 被设置成员的账号, option, 通知给其他人的透传信息,
  •                         new ECLiveCallBack.OnControlMemberStateListener() {
  •         @Override
  •  public void onResult(ECError ecError) {                                                                
  •         }
  •     });                        
  • 拉黑/移除黑名单

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

    API介绍

  • void dfriendLiveChatRoomMember(java.lang.String roomId,
  •                                java.lang.String userId,
  •                                ECLiveEnums.ECState controlOption,
  •                                ECLiveNotifyWrapper notifyWrapper,
  •                                ECLiveCallBack.OnControlMemberStateListener listener)
  • 加入黑名单
  • 参数:
  • roomId - 房间号
  • userId - 被加入黑名单成员的账号
  • controlOption - 控制封装
  • notifyWrapper - 通知对象
  • listener - 回调
  • 代码示例           

  • //获得SDK体育万博app下载_manbetx客户端网页版_bet万博网站管理类
  • ECLiveChatRoomManager roomManager = ECDevice.getECLiveChatRoomManager();
  • if(roomManager==null){
  •     return;
  • }
  • //调用拉黑/移除黑名单
  • roomManager.dfriendLiveChatRoomMember(房间id, 被设置的人的账号, 拉黑/移除黑名单, 
  •                                         通知给其他人的透传信息, new ECLiveCallBack.OnControlMemberStateListener() {
  •       @Override
  •       public void onResult(ECError ecError) {
  •           if (ecError.errorCode == SdkErrorCode.REQUEST_SUCCESS) {                                    
  •           }
  •       }
  • });
  • 踢出

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

    API介绍

  • void kickLiveChatRoomMember(java.lang.String roomId,
  •                             java.lang.String userId,
  •                             ECLiveNotifyWrapper notifyWrapper,
  •                             ECLiveCallBack.OnLiveChatRoomKickMemberListener listener)
  • 在体育万博app下载_manbetx客户端网页版_bet万博网站里面踢人
  • 参数:
  • roomId - 体育万博app下载_manbetx客户端网页版_bet万博网站房间号
  • userId - 被踢出人的账号
  • notifyWrapper - 通知封装
  • listener - 回调
  • 代码示例

  • //获得SDK体育万博app下载_manbetx客户端网页版_bet万博网站管理类
  • ECLiveChatRoomManager roomManager = ECDevice.getECLiveChatRoomManager();
  • if(roomManager==null){
  •      return;
  • }
  • //创建通知对象
  • ECLiveNotifyWrapper notifyWrapper = new ECLiveNotifyWrapper(设置通知透传信息, 是否通知其他人);
  • //调用踢出方法
  • roomManager.kickLiveChatRoomMember(体育万博app下载_manbetx客户端网页版_bet万博网站id, 被踢的成员userid, 
  •                 notifyWrapper, new ECLiveCallBack.OnLiveChatRoomKickMemberListener() {
  •     @Override
  •     public void onResult(ECError ecError) {
  •     }
  • });                                                                              
  • 退出体育万博app下载_manbetx客户端网页版_bet万博网站

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

    API介绍

  • void exitLiveChatRoom(java.lang.String roomId,
  •                       ECLiveNotifyWrapper notifyWrapper,
  •                       ECLiveCallBack.OnExitLiveChatRoomListener listener)
  • 退出体育万博app下载_manbetx客户端网页版_bet万博网站房间
  • 参数:
  • roomId - 房间号
  • notifyWrapper - 通知透传信息
  • listener - 回调接口
  • 代码示例

  • //获得SDK体育万博app下载_manbetx客户端网页版_bet万博网站管理类
  • ECLiveChatRoomManager roomManager = ECDevice.getECLiveChatRoomManager();
  • if(roomManager==null){
  •     return;
  • }
  • //构建通知对象
  • ECLiveNotifyWrapper notifyWrapper = new ECLiveNotifyWrapper(设置通知透传信息, 是否通知其他人);
  • //调用退出体育万博app下载_manbetx客户端网页版_bet万博网站
  • roomManager.exitLiveChatRoom(room.roomId, notifyWrapper,
  •                                                 new ECLiveCallBack.OnExitLiveChatRoomListener() {
  •      @Override
  •      public void onResult(ECError ecError) {
  •          if (ecError.errorCode == SdkErrorCode.REQUEST_SUCCESS) {
  •          } else {
  •          }
  •      }
  • });                                                                                                   
  • 接收体育万博app下载_manbetx客户端网页版_bet万博网站消息及通知接口 

    当用户加入,退出,被禁言,被踢出,被拉黑,变更角色等,体育万博app下载_manbetx客户端网页版_bet万博网站内的成员都会收到通知消息。

    回调: OnLiveChatRoomListener查看API

  • public interface OnLiveChatRoomListener{
  •     /**
  •      * 接收体育万博app下载_manbetx客户端网页版_bet万博网站消息
  •      * @param message
  •      */
  •     void OnReceiveLiveChatRoomMessage(ECMessage message);
  •     /**
  •      * 接收体育万博app下载_manbetx客户端网页版_bet万博网站通知消息
  •      * @param notice
  •      */
  •     void OnReceiveLiveChatRoomNotification(ECLiveChatRoomNotification notice);
  •     ///**通知类型*/ 根据type获取不同的通知类型
  •     //public ECLiveEnums.ECNoticeType noticeType;       
  •      }