Android客户端集成

基础功能

关于登录、消息、群组等基础IM功能,请参考文档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);

发送消息

请参考消息收发

您可以使用透传消息来实现礼物,撒花等聊天室常见功能,比如cmd里面action: flower, UI上显示撒花效果,如果action: plane 就显示成送飞机做礼物

观众管理

关于直播室加人、踢人、禁言、黑名单等操作,请参考聊天室管理

主播管理

获取用户已经关联的直播间

LiveManager.getInstance().getAssociatedRooms(liveId);

上一页:服务端集成

下一页:iOS客户端集成