====== Android客户端集成 ====== ===== 基础功能 ===== 关于登录、消息、群组等基础IM功能,请参考文档[[im:200androidclientintegration:10androidsdkimport|Android SDK 介绍及导入]]。 ===== 直播聊天室管理 ===== ==== 前期准备 ==== 直播聊天室功能由于要依赖于第三方直播SDK Ucloud,代码暂时放在demo里。 使用前需要先加入Ucloud的库,加入以下依赖至你项目的''module''级别的''build.gradle''文件里。 compile(name: 'ucommon-android-sdk-1.0.0', ext: 'aar') compile(name: 'ulive-android-sdk-1.5.1', ext: 'aar') compile(name: 'uvod-android-sdk-1.5.8', ext: 'aar') **请注意: 因为demo中的推拉流使用的是临时地址,用户在集成时需要使用“服务器集成”中的方法设置自己申请的直播的推流拉流地址。** ==== 开启直播室 ==== 开启直播有两种方法,一是创建一个的新的直播聊天室,或者选择一个已经关联好的直播室开启直播。 第一种方法: /** * 创建直播室 * @param name 直播室名称 * @param description 直播室描述 * @param coverUrl 直播封面图片url */ LiveManager.getInstance().createLiveRoom(name, desc, coverUrl); 第二种方法: /** * 根据指定的已经关联的直播室id创建直播 * @param name 直播室名称 * @param description 直播室描述 * @param coverUrl 直播封面图片url * @param liveRoomId 要关联直播的直播室id */ LiveManager.getInstance().createLiveRoom(name, desc, coverUrl, liveRoomId); **如何关联直播室:** 每次创建一个新的直播室时,创建者自动会关联此直播室,也可通过管理后台调用相应接口关联直播室。 **如何获取关联的直播室列表:** 调用''LiveManager.getInstance().getAssociatedRooms(uerid)'' ==== 结束直播 ==== LiveManager.getInstance().terminateLiveRoom(liveId); ==== 获取正在直播的直播室列表 ==== /** * 获取正在直播的直播室列表 * @param limit 取多少 * @param cursor 在这个游标基础上取数据,首次获取传null */ LiveManager.getInstance().getLivingRoomList(pageSize, cursor); ==== 获取直播室详情 ==== LiveManager.getInstance().getLiveRoomDetails(liveId); ==== 加入直播室 ==== 直接调用聊天室的加入接口即可。 String chatroomId = liveRoom.getChatroomId(); EMClient.getInstance() .chatroomManager() .joinChatRoom(chatroomId,callback); ==== 退出直播室 ==== 直接调用聊天室的退出接口即可。 String chatroomId = liveRoom.getChatroomId(); EMClient.getInstance().chatroomManager().leaveChatRoom(chatroomId); ==== 获取直播室状态 ==== LiveStatus status = LiveManager.getInstance().getLiveRoomStatus(liveId); public enum LiveStatus{ not_start, //未开始 ongoing, //正在直播 completed, //直播已结束 closed //直播间已关闭 } ==== 更新直播室封面 ==== LiveManager.getInstance().updateLiveRoomCover(liveId, coverUrl); ===== 发送消息 ===== 请参考[[im:200androidclientintegration:50singlechat|消息收发]] 您可以使用透传消息来实现礼物,撒花等聊天室常见功能,比如cmd里面action: flower, UI上显示撒花效果,如果action: plane 就显示成送飞机做礼物 ===== 观众管理 ===== 关于直播室加人、踢人、禁言、黑名单等操作,请参考[[im:200androidclientintegration:75chatroom|聊天室管理]]。 ===== 主播管理 ===== ==== 获取用户已经关联的直播间 ==== LiveManager.getInstance().getAssociatedRooms(liveId); ---- 上一页:[[im:live:server-integration|服务端集成]] 下一页:[[im:live:ios-integration|iOS客户端集成]]