声网 RTM SDK 支持呼叫邀请功能,包含通用呼叫场景中的以下行为:
声网 RTM SDK 提供的呼叫邀请功能仅实现了呼叫邀请的基本控制逻辑,即发送、取消、接受和拒绝呼叫邀请。声网 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 提供一个开源的示例项目,你也可以前往下载体验并参考源代码。