1、核心接口
(1) 初始化SDK
未初始化前,SDK 处于未初始化阶段,需要通过接口 Initialize()初始化 SDK,才可以使用实时语音服务、文本服务
a) 生产LiveConfig对象
参数 | 类型 | 含义 |
---|---|---|
SdkAppId | string | 权限id,由Unity中国团队提供 |
SdkAppKey | string | 权限密钥,由Unity中国团队提供 |
TokenUri | string | 获取connectToken的服务器url地址,由Unity中国团队提供 |
Server | string | 连接房间时需要提供的服务器url地址,由Unity中国团队提供 |
b) 获取Service实例
使用 LiveService.Instance去获取实例
c) 调用初始化函数
//初始化房间示例代码
var config = new LiveConfig
{
SdkAppID = "Your AppId",
SdkAppKey = "Your AppSecret"
};
LiveService.Instance.Initialize(config);
(2) 生成连接Token
生成创建房间的鉴权信息。
接口原型
IEnumerator GetConnectToken(string roomId, string userIdentity, Action<string> callback)
属性名 | 数据类型 | 属性说明 |
---|---|---|
roomId | string | 房间号, 最大支持127个字符。 |
userIdentify | string | 用户名, 需要保证唯一性 |
callback | func | token生成后会通过callback返回给客户端 |
(3) 加入房间
用生成的鉴权信息进房,加入房间默认不打开麦克风及扬声器。该接口是异步接口,调用没有错误不代表进房成功。
//函数原型
LiveService.Instance.EnterRoom(roomId, token);
//示例代码
void OnTokenFetched(string token)
{
LiveService.Instance.EnterRoom(roomId, token);
}
StartCoroutine(LiveService.Instance.GetConnectToken(roomId, _myId, OnTokenFetched));
加入房间事件回调
加入房间完成后会通过回调返回状态,监听到进房事件后可以进行用户逻辑处理。
事件名称 | 事件说明 |
---|---|
OnEnterRoomCompleteEvent | 玩家连入房间时触发 |
// 监听加入房间事件:
LiveService.Instance.OnEnterRoomCompleteEvent += OnRoomEntered;
// 监听处理
void OnRoomEntered(string roomId)
{
//进房成功
Log("Connected!")
}
(4) 退出房间
退出房间时,可通过调用该接口退出所在房间,并解绑相应的监听事件。
注意
roomId可以为空, 则默认退出第一个加入的房间
LiveService.Instance.ExitRoom(roomId);
退出房间事件回调
创建Room
后,一般需要绑定相应的事件监听,以下列举了部分Room
中可设置的事件:
事件名称 | 事件说明 |
---|---|
OnExitRoomCompleteEvent | 当前玩家离开时触发 |
代码示例
// 当前玩家离开房间
LiveService.Instance.OnExitRoomCompleteEvent += OnRoomExited;
// 监听处理
void OnRoomExited(string roomId)
{
// 退出成功
Log("Disconnected!")
}