====== 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客户端集成]]