接口列表

  • Hummer

函数函数名
ObjectcreateHummer
Promise<>login
Promise<>logout
Promise<>refreshToken
stringVERSION
voidsetLogLevel
  • RtsClient

函数函数名
ObjectcreatRTSInstance
Promise<>sendMessageToUser
voidMessageFromUser
Promise<>queryUsersOnlineStatus
  • RtsRoom

函数函数名
ObjectcreateRoom
Promise<>join
Promise<>leave
Promise<>sendMessage
Promise<>setUserAttributes
Promise<>deleteUserAttributesByKeys
Promise<>addOrUpdateUserAttributes
Promise<>clearUserAttributes
Promise<>getMembers
Promise<>getUserAttributesByKeys
Promise<>getUserAttributes
Promise<>setRoomAttributes
Promise<>deleteRoomAttributesByKeys
Promise<>addOrUpdateRoomAttributes
Promise<>clearRoomAttributes
Promise<>getRoomAttributes
Promise<>getRoomAttributesByKeys
Promise<>getRoomMemberCount
  • 辅助工具

函数函数名
ObjectgetInstanceInfo
Utf8ArrayencodeStringToUtf8Bytes
stringdecodeUtf8BytesToString

详细说明

创建Hummer实例

VERSION

获取Hummer SDK版本号

    const version = Hummer.VERSION;

初始化Hummer

Hummer初始化:创建hummer实例

    hummer = Hummer.createHummer({ appid });

入参:

NameTypeDescription
appidnumber项目的appid

传入项目的appid,32bit number 类型。

setLogLevel

设置打印日志级别

hummer.setLogLevel(level);

请求参数:

NameTypeDescription
levelenum日志等级

响应数据:

NameTypeDescription
NAvoid
枚举值含义
DEBUG(-1)debug
LOG(0)log
INFO(1)info
WARN(2)warn
ERROR(3)error
enum LOGLEVEL {
	DEBUG = -1,
	LOG = 0,
	INFO = 1,
	WARN = 2,
	ERROR = 3
}

getState

获取SDK当前状态

hummer.getState();

请求参数:

NameTypeDescription
NA

响应数据:

NameTypeDescription
enum
枚举值含义
DISCONNECTED未连接
CONNECTING连接中
RECONNECTING重连中
CONNECTED已连接

登录(login)

hummer.login({ region, uid, token });

请求参数:

NameTypeDescription
region?string用户归属地region
uidstring用户UID
token?string可选的动态密钥

响应数据:Promise<>

NameTypeDescription
rescodenumber0:表示成功
msgstring返回描述

token支持3种模式:appid模式、token模式、临时token模式

登出(logout)

hummer.logout();

请求参数:

NameTypeDescription
NA

响应数据:Promise<>

NameTypeDescription
rescodenumber0:表示成功
msgstring返回描述

更新当前Token(refreshToken)

hummer.refreshToken({ token });

请求参数:

NameTypeDescription
tokenstring动态密钥

响应数据:Promise<>

NameTypeDescription
rescodenumber0:表示成功
msgstring返回描述

初始化Rts Service

初始化: 创建RtsService实例

client = hummer.createRTSInstance();

响应数据:

NameTypeDescription
Object返回RtsService实例

点对点的消息处理

发送点对点的消息(sendMessageToUser)

发送点对点的消息

client.sendMessageToUser({});

请求参数:

NameTypeDescription
typestringcontent的类型。用户自己约定。
contentUint8Array消息的内容。
receiverstring接收者uid
appExtras{ [k: string]: string }可选参数。 用户自定义的数据。 键和值为string的json-object。

响应数据:Promise<>

NameTypeDescription
rescodenumber0:表示成功
msgstring返回描述

示例:

let params = { type, content, receiver }
client.sendMessageToUser(params).then(res => {
  console.log("res: " + JSON.stringify(res));
}).catch(err => {
  console.log(err)
})

响应:

{"rescode":0,"msg":"ok"}
批量查询用户在线列表(queryUsersOnlineStatus)

批量查询用户在线列表

client.queryUsersOnlineStatus({ uids: uids })

请求参数:

NameTypeDescription
uidsstring[]要查询的uid列表

响应数据:Promise<>

NameTypeDescription
rescodenumber0:表示成功
msgstring返回描述
onlineStatus{[uid: string]: boolean}用户/在线状态键值对

示例:

client.queryUsersOnlineStatus({uids: uids}).then(res => {
  console.log("res: " + JSON.stringify(res));
}).catch(err => {
  console.log(err);
})

响应:

{"rescode":0,"msg":"ok","onlineStatus":{"999000":true}}

房间消息处理

创建单个房间实例(createRoom)

创建单个房间实例

room = client.createRoom({ region, roomId })

请求参数:

NameTypeDescription
regionstring业务归属地("cn"/"ap_southeast"/"ap_south" / "us" / "me_east" / "sa_east")
roomIdstring房间ID

响应数据:

NameTypeDescription
Object返回room实例

【注】可以创建多个房间实例,并且可以在不同的业务归属region

加入房间(join)
room.join();

请求参数:

NameTypeDescription
extra{[k: string]: string}可扩展字段(选填字段)

响应数据:Promise<>

NameTypeDescription
rescodenumber0:成功
msgstring返回描述

示例:

        let params = {extra};
        room.join(params).then(res => {
          console.log("join res:", res);
        }).catch(err => {
        });
退出房间(leave)

请求参数:

NameTypeDescription
extra{[k: string]: string}可扩展字段(选填字段)

响应数据:Promise<>

NameTypeDescription
rescodenumber0:成功
msgstring返回描述

示例:

        let params = {extra};
        room.leave(params).then(res => {
          console.log("leave res:", res);
        }).catch(err => {
        });
room发送组播消息(sendMessage)
room.sendMessage({})

请求参数:

NameTypeDescription
typestringcontent的类型。用户自己约定。
contentUint8Array消息的内容。
appExtras{ [k: string]: string }可选参数。 用户自定义的数据。 键和值为string的Object。

响应数据:Promise<>

NameTypeDescription
rescodenumber0:表示成功
msgstring返回描述

示例:

let params = { type, content }
room.sendMessage(params).then(res => {
  console.log("res: " + JSON.stringify(res));
}).catch(err => {
  console.log(err);
})

响应:

{"rescode":0,"msg":"ok"}
room设置本地用户属性(setUserAttributes)
room.setUserAttributes({})

请求参数:

NameTypeDescription
attributes{[k: string]: string}用户属性

响应数据:Promise<>

NameTypeDescription
rescodenumber0:成功
msgstring返回描述

示例:

    let params = { attributes };
    room.setUserAttributes(params).then(res => {
      console.log("setUserAttributes Res: ", res);
    }).catch(err => {
      console.log(err)
    })
room删除本地用户某些属性(deleteUserAttributesByKeys)
room.deleteUserAttributesByKeys({})

请求参数:

NameTypeDescription
attributes{[k: string]: string}用户属性

响应数据:Promise<>

NameTypeDescription
rescodenumber0:成功
msgstring返回描述

示例:

    room.deleteUserAttributesByKeys({ keys }).then(res => {
      console.log("deleteUserAttributesByKeys res: ", res);
    }).catch(err => {
      console.log(err)
    })
room添加或更新本地用户的属性(addOrUpdateUserAttributes)
room.addOrUpdateUserAttributes({attributes})

请求参数:

NameTypeDescription
attributesstring[]用户属性key数组

响应数据:Promise<>

NameTypeDescription
rescodenumber0:成功
msgstring返回描述

示例:

    let params = { attributes };
    room.addOrUpdateUserAttributes(params).then(res => {
      console.log("addOrUpdateUserAttributes res:", res);
    }).catch(err => {
      console.log(err)
    })
room清空本地用户的属性(clearUserAttributes)
room.clearUserAttributes()

请求参数:

NameTypeDescription
NA

响应数据:Promise<>

NameTypeDescription
rescodenumber0:成功
msgstring返回描述

示例:

    room.clearUserAttributes().then(res => {
      console.log("clearUserAttributes res: ", res);
    }).catch(err => {
      console.log(err)
    })
room获取房间用户列表(getMembers)
room.getMembers()

请求参数:

NameTypeDescription
NANA

响应数据:Promise<>

NameTypeDescription
uidsstring[]用户列表
rescodenumber0:表示成功
msgstring返回描述

示例:

        room.getMembers().then(res => {
          console.log("getMembers res:", res);
        }).catch(err => {
        });

响应:

{"appid":1350626568,"roomId":"test_room","uids":["123","555","233333","1356662","3300235422","3300235423","3300235499","3300235888","135666911222"],"rescode":0}
room查询某指定用户指定属性名的属性(getUserAttributesByKeys)
room.getUserAttributesByKeys({})

请求参数:

NameTypeDescription
uidstring用户UID
keysstring[]用户属性名keys

响应数据:Promise<>

NameTypeDescription
appidnumber
roomIdstring
attributes{[k: string]: string}用户属性object
rescodenumber0:表示成功
msgstring返回描述

示例:

    room.getUserAttributesByKeys({ uid, keys }).then(res => {
      console.log("getUserAttributesByKeys res:", res);
    }).catch(err => {
    });
room查询某指定用户的全部属性(getUserAttributes)
room.getUserAttributes({})

请求参数:

NameTypeDescription
uidstring用户UID

响应数据:Promise<>

NameTypeDescription
appidnumber
roomIdstring
attributes{[k: string]: string}用户属性object
rescodenumber0:表示成功
msgstring返回描述

示例:

    room.getUserAttributes({ uid, keys }).then(res => {
      console.log("getUserAttributes res:", res);
    }).catch(err => {
    });
room全量设置某指定房间的属性(setRoomAttributes)
room.setRoomAttributes({})

请求参数:

NameTypeDescription
attributes{[k: string]: string}房间属性key-value键值对

响应数据:Promise<>

NameTypeDescription
rescodenumber0:成功
msgstring返回描述

示例:

    let params = { attributes };
    room.setRoomAttributes(params).then(res => {
      console.log("setRoomAttributes res:", res);
    }).catch(err => {
      console.log(err)
    })

全量设置某指定房间的属性。

Note

支持进房间和不进房间全量设置房间属性 房间持续大约10分钟无人的时候,清空房间属性

room删除某指定房间的指定属性(deleteRoomAttributesByKeys)
room.deleteRoomAttributesByKeys({})

请求参数:

NameTypeDescription
keysstring[]房间属性key数组

响应数据:Promise<>

NameTypeDescription
rescodenumber0:成功
msgstring返回描述

示例:

    room.deleteroomAttributesByKeys({ keys }).then(res => {
      console.log("deleteroomAttributesByKeys Res: ", res);
    }).catch(err => {
      console.log(err)
    })
room更新房间属性(addOrUpdateRoomAttributes)
room.addOrUpdateRoomAttributes({})

请求参数:

NameTypeDescription
attributes{[k: string]: string}房间属性key-value键值对

响应数据:Promise<>

NameTypeDescription
rescodenumber0:成功
msgstring返回描述

示例:

    let params = { attributes };
    room.addOrUpdateRoomAttributes(params).then(res => {
      console.log("addOrUpdateRoomAttributes res: ", res);
    }).catch(err => {
      console.log(err)
    })
room清空某指定房间的属性(clearRoomAttributes)
room.clearRoomAttributes()

请求参数:

NameTypeDescription
NA

响应数据:Promise<>

NameTypeDescription
rescodenumber0:成功
msgstring返回描述

示例:

    room.clearRoomAttributes().then(res => {
      console.log("clearRoomAttributes res: ", res);
    }).catch(err => {
      console.log(err)
    })
room查询某指定房间的全部属性(getRoomAttributes)
room.getRoomAttributes()

请求参数:

NameTypeDescription
NA

响应数据:Promise<>

NameTypeDescription
rescodenumber0:成功
msgstring返回描述
attributes{[k: string]: string}房间属性key-value键值对

示例:

    room.getRoomAttributes().then(res => {
      console.log("getRoomAttributes res: ", res);
    }).catch(err => {
      console.log(err)
    })
room查询某指定房间指定属性名的属性(getRoomAttributesByKeys)
room.getRoomAttributesByKeys()

请求参数:

NameTypeDescription
keysstring[]房间属性key数组

响应数据:Promise<>

NameTypeDescription
rescodenumber0:成功
msgstring返回描述
attributes{[k: string]: string}房间属性key-value键值对

示例:

    room.getRoomAttributesByKeys({ keys }).then(res => {
      console.log("getRoomAttributesByKeys res: ", res);
    }).catch(err => {
      console.log(err)
    })
client查询单个或多个房间用户数(getRoomMemberCount)

在预先设定的区域,查询单个或多个房间用户数

client.getRoomMemberCount({})

请求参数:

NameTypeDescription
region?string业务归属地("cn"/"ap_southeast"/"ap_south" / "us" / "me_east" / "sa_east")
roomIdsstring[]同一区域的房间列表

响应数据:Promise<>

NameTypeDescription
userCount{[roomId: string]: number}
rescodenumber0:表示成功
msgstring返回描述

示例:

    client.getRoomMemberCount({ region, roomIds }).then(res => {
      console.log("res:", res);
    }).catch(err => {
    });

响应示例:

{"appid":1350626568,"userCount":{"test123":0,"test999":3},"rescode":0,"msg":""}

辅助工具

getInstanceInfo获取实例信息(getInstanceInfo)

获取实例信息的API接口,用来辅助排查实例的在线状态信息,方便用于调试。

请求参数:

NameType
NA

响应数据:

NameTypeDescription
appidnumber
uidstringUID
instanceIdnumber实例ID

示例:

hummer.getInstanceInfo().then(res => {
  console.log("res: " + JSON.stringify(res));
}).catch(err => {
  console.log(err);
});

响应:

{ "uid": "123", "instanceId": 3114848827, "isAnonymous": false, "appid": 1350626568 }

将string编码成Utf8二进制(encodeStringToUtf8Bytes)

请求参数:

NameTypeDescription
string

响应数据:

NameTypeDescription
Utf8Bytes

示例:

Hummer.Utify.encodeStringToUtf8Bytes(content);

将Utf8二进制解码成string类型(decodeUtf8BytesToString)

请求参数:

NameTypeDescription
Utf8Bytes

响应数据:

NameTypeDescription
string

示例:

Hummer.Utify.decodeUtf8BytesToString(content);

文档是否有解决您的问题?

有帮助 没帮助
提交成功,非常感谢您的反馈!

反馈

TOP