获取主被叫用户信息
更新时间: 2024/08/23 10:16:57
在报表统计等场景中,您可能需要上报主被叫的一些用户信息。本文介绍获取主被叫的用户 ID(uid)、房间 ID (cid)、房间名称(cname)等信息。
呼叫时透传扩展信息给被叫
您可以在发起呼叫时设置扩展信息,例如用户昵称等。
- 发起呼叫时在
extraInfo
参数中设置扩展信息,发起呼叫的详情参数参考如下:
type SignalControllerCallParams = {
/** 被叫im id */
accId: string
/** 呼叫类型 */
callType: SignalControllerCallType
/** 通话id,可选 */
callId?: string
/** 信令房间名称,可选 */
signalChannelName?: string
/** 信令推送,可选 */
signalPushConfig?: SignalControllerPushInfo
/** 是否离线可以接收,可选 */
enableOffline?: boolean
/** 额外信息,被邀请端可以获取,可选 */
extraInfo?: string
/** 全局抄送,可选 */
globalExtraCopy?: string
/** rtc 房间名称,可选 */
nertcChannelName?: string
/** rtc token 超时时间,可选 */
nertcTokenTtl?: number
/** rtc 快呼叫参数,内部实现,用户可以忽略 */
nertcJoinRoomQueryParamMap?: string
}
- 被叫用户获取相应的扩展信息。
被叫用户在收到来电通知时,通过 onReceiveInvited
回调中的 exraInfo
参数获取主叫方透传的扩展信息。
type NECallInfo = {
/** 呼叫id */
callId: string
/** 呼叫人信息 */
callerInfo: UserInfo
/** 被叫人信息 */
calleeInfo: UserInfo
/** 呼叫类型 */
callType: SignalControllerCallType
/** 用户自定义扩展字段 */
exraInfo?: string
}
获取本端的用户信息
主叫和被叫在加入 RTC 房间成功后,您可以在neCall.rtcController.client.getChannelInfo()
回调中获取本端的 RTC 用户 ID(uid)、RTC 房间 ID(cid)、RTC 房间名称(channelName)。
getChannelInfo
接口模型如下:
getChannelInfo(): {
/**
* 频道ID,可用于服务端API调用。
*/
cid: number
/**
* 用户输入的频道名。
*/
channelName: string
/**
* 用户输入的id。当用户输入的uid为0时,则可获取服务端随机分配的uid。
*/
uid: number | string
/**
* 用户输入的token。
*/
token: string
}
获取对端的用户信息
获取对端用户的 IM accid
被叫收到呼叫邀请时会触发onReceiveInvited
回调,在该回调中会返回主叫和被叫到 IM accid。
onReceiveInvited
回调的接口模型如下:
type NECallInfo = {
/** 呼叫id */
callId: string
/** 呼叫人信息 */
callerInfo: UserInfo
/** 被叫人信息 */
calleeInfo: UserInfo
/** 呼叫类型 */
callType: SignalControllerCallType
/** 用户自定义扩展字段 */
exraInfo?: string
}
获取对端用户的 RTC Uid
主叫在调用 call 接口成功后,在通话过程中,您可以调用 getUidByAccId
接口,根据对端用户的 IM accid 获取对端用户的 uid。
示例代码如下:
// accId w
neCall.getUidByAccId(accId)
此文档是否对你有帮助?