Agora RTM SDK 支持呼叫邀请功能,包含通用呼叫场景中的以下行为:
Agora RTM SDK 提供的呼叫邀请功能仅实现了呼叫邀请的基本控制逻辑,即发送、取消、接受和拒绝呼叫邀请。Agora RTM SDK 不会处理邀请接通之后的动作,也不会管理整个会话的生命周期。你需要根据自己的业务逻辑自行实现。
呼叫邀请可应用于以下场景:
在一个完整的呼叫邀请过程中,主叫和被叫的呼叫邀请状态分别由 LocalInvitation
和 RemoteInvitation
来定义。
发送呼叫邀请的步骤如下:
createLocalInvitation
创建 LocalInvitation
。此时 LocalInvitation
生命周期开始。send
发送呼叫邀请。被叫收到 RemoteInvitationReceived
回调,此时 RemoteInvitation
生命周期开始。主叫收到 LocalInvitationReceivedByPeer
回调。发送呼叫邀请的示例代码如下:
// 创建 LocalInvitation
localInvitation = Client.createLocalInvitation(calleeId);
// 发送呼叫邀请
localInvitation.send();
主叫调用 cancel
取消呼叫邀请。被叫收到 RemoteInvitationCanceled
回调,此时 RemoteInvitation
生命周期结束。主叫收到 LocalInvitationCanceled
回调,此时 LocalInvitation
生命周期结束。
取消呼叫邀请的示例代码如下:
// 取消呼叫邀请
cancelCall() {
localInvitation.cancel();
}
被叫从 RemoteInvitationReceived
回调获取 RemoteInvitation
并调用 accept
接受呼叫邀请。被叫收到 RemoteInvitationAccepted
回调,此时 RemoteInvitation
生命周期结束。主叫收到 LocalInvitationAccepted
回调,此时 LocalInvitation
生命周期结束。
接受呼叫邀请的示例代码如下:
// 接受呼叫邀请
acceptCall() {
remoteInvitation.accept();
}
被叫从 RemoteInvitationReceived
回调获取 RemoteInvitation
并调用 refuseRemoteInvitation
拒绝呼叫邀请。被叫收到 RemoteInvitationRefused
回调,此时 RemoteInvitation
生命周期结束。主叫收到 LocalInvitationRefused
回调,此时 LocalInvitation
生命周期结束。
拒绝呼叫邀请的示例代码如下:
// 拒绝呼叫邀请
refuseCall() {
remoteInvitation.refuse();
}
API 详见呼叫邀请 API 文档。
我们在 GitHub 提供一个开源的示例项目,你也可以前往下载体验并参考源代码。