私有部署服务器版本使用方法

注意: 该页面的初始化流程仅适用于私有部署服务,使用公有云服务的初始化参见:
https://docs.starrtc.com/zh-cn/docs/android-3a.html

私服服务是指,用户使用starRTC发布的免费服务端程序,运行在用户自己的服务器上,所有数据不经过starRTC,我们不承担非法数据的风险。
免费服务下载地址: https://github.com/starrtc/starrtc-server

私有服务SDK不需要登录,starRTC的sdk不对用户的合法性进行校验,交给用户自己维护。初始化时省掉了登录服务url的设置。
此外,SDK可以通过API直接设置各项功能服务的服务地址。省去了原有的调度环节,可以更灵活的接入到中小型项目中。

使用方法:

1 初始化

因为不需要starRTC做用户合法性校验,所以无需从我方获取APPID,用户自己生成一个即可。
初始化步骤与正常版很相似,调用几个不同的api即可

XHCustomConfig customConfig =  XHCustomConfig.getInstance();
customConfig.setAppId(MLOC.agentId);
customConfig.setChatroomServerUrl(MLOC.CHAT_ROOM_SERVER_URL);
customConfig.setLiveSrcServerUrl(MLOC.LIVE_SRC_SERVER_URL);
customConfig.setLiveVdnServerUrl(MLOC.LIVE_VDN_SERVER_URL);
customConfig.setImServereUrl(MLOC.IM_SERVER_URL);
customConfig.setVoipServerUrl(MLOC.VOIP_SERVER_URL);
customConfig.initSDKForFree(this, MLOC.userId, new IXHErrorCallback() {
@Override
public void error(final String errMsg, Object data) {
}
},new Handler());

2 IM群组的新增API

可以从SDK的API中直接获取用户自己的群列表以及群信息(群成员列表和免打扰状态)
注意:下边两个API仅限私有部署服务时使用。

XHClient.getInstance().getGroupManager().queryGroupList(new IXHResultCallback() {
@Override
public void success(final Object data) {
//获取群列表成功
}

@Override
public void failed(String errMsg) {
//获取群列表失败
}
});
XHClient.getInstance().getGroupManager().queryGroupInfo(mGroupId, new IXHResultCallback() {
@Override
public void success(final Object data) {
//获取群信息成功
}
@Override
public void failed(String errMsg) {
//获取群信息失败
}
});

3 IM聊天室管理类(XHChatroomManager)、视频会议管理类(XHMeetingManager)、互动直播管理类(XHLiveManager)都新增了以下API。

具体使用请参照demo工程。

注意:下边两个API仅限私有部署服务时使用。

/**(仅限私有部署时使用)
* 保存到列表
* @param userId 用户id
* @param type 列表类型
* @param id 对应的聊天室ID、视频会议ID、直播id
* @param data 用户自定义数据
* @param callback
*/
void saveToList(String userId,int type,String id,String data,IXHResultCallback callback);

/**(仅限私有部署时使用)
* 查询列表
* @param userId 用户ID
* @param type 类型
* @param callback 结果回调
*/
void queryList(String userId,String type, IXHResultCallback callback);

/**(仅限私有部署时使用)
* 从列表删除
* @param userId 用户ID
* @param type 类型
* @param id 对应的聊天室ID、视频会议ID、直播id
* @param callback 结果回调
*/
void deleteFromList(String userId, int type,String id, IXHResultCallback callback);