由 SDK 创建供被叫调用的呼叫邀请对象。
示例
import ArRTM from "ar-rtm-sdk";
/**
* 创建 RTM 客户端实例
* @params demoAppId: Pass your App ID here.
*/
const client = ArRTM.createInstance("demoAppId", { enableLogUpload: false });
/**
* 登陆
* @params uid: Pass your user ID here.
*/
client.login({ uid: "userId" })
.then(() => { })
.catch((err) => { });
/**
* 收到来自主叫的呼叫邀请回调 RemoteInvitationReceived
* @params remoteInvitation: 由 SDK 创建的供被叫调用的呼叫邀请对象 RemoteInvitation
* 主叫的 uid callerId
* 主叫设置的呼叫邀请内容 content
* 被叫设置的响应内容 response
* 返回给被叫的呼叫邀请状态属性 state
*/
client.on("RemoteInvitationReceived", (remoteInvitation) => {
// 这里返回一个 remoteInvitation 实例
});
RemoteInvitation 属性
属性 | 描述 |
---|---|
callerId | 主叫的 uid。 |
content | 主叫设置的呼叫邀请内容,最大长度为 8 KB。 |
response | 被叫设置的响应内容,最大长度为 8 KB。 |
state | 呼叫邀请的状态,详见 RemoteInvitationStat。 |
RemoteInvitation 方法
on
on(event: string, callback: (...args: any[]) => void): void;
在该频道实例上添加 listener 函数到名为 eventName 的事件。其他 RtmChannel 实例上的事件方法请参考 EventEmitter API 文档。
参数
参数 | 类型 | 描述 |
---|---|---|
eventName | keyof RemoteInvitationEvents | 频道事件的名称。 |
listener | function | 事件的回调函数。RemoteInvitationEvents[eventName] |
示例
/**
* 收到来自主叫的呼叫邀请回调 RemoteInvitationReceived
* @params remoteInvitation: 由 SDK 创建的供被叫调用的呼叫邀请对象 RemoteInvitation
*
* 通过绑定 被叫调用的呼叫邀请对象 提供的事件回调进行相关操作监听
* @params eventName: 呼叫邀请对象 提供的事件的名称。(类型:string)
* @params ...args: 不同的事件,回调参数是不同的。(类型:any[])
*/
client.on("RemoteInvitationReceived", (remoteInvitation) => {
// 监听被叫接受呼叫邀请成功的回调事件
remoteInvitation.on("RemoteInvitationAccepted", (...args) => {
console.log(args);
});
});
返回
void
accept
accept(): void
接受来自主叫的呼叫邀请。
- 该方法无异步回调。如需监听 RemoteInvitationState 变化,请通过 on 方法注册 RemoteInvitationEvents 中的事件回调。
示例
/**
* 收到来自主叫的呼叫邀请回调 RemoteInvitationReceived
* @params remoteInvitation: 由 SDK 创建的供被叫调用的呼叫邀请对象 RemoteInvitation
* 接受来自主叫的呼叫邀请。 accept
*/
client.on("RemoteInvitationReceived", (remoteInvitation) => {
remoteInvitation.accept();
});
参数
void
refuse
refuse(): void
拒绝来自主叫的呼叫邀请。
- 该方法无异步回调。如需监听 RemoteInvitationState 变化,请通过 on 方法注册 RemoteInvitationEvents 中的事件回调。
示例
/**
* 收到来自主叫的呼叫邀请回调 RemoteInvitationReceived
* @params remoteInvitation: 由 SDK 创建的供被叫调用的呼叫邀请对象 RemoteInvitation
* 拒绝来自主叫的呼叫邀请 refuse
*/
client.on("RemoteInvitationReceived", (remoteInvitation) => {
remoteInvitation.refuse();
});
参数
void