声网 RTM SDK 支持呼叫邀请功能,包含通用呼叫场景中的以下行为:
声网 RTM SDK 提供的呼叫邀请功能仅实现了呼叫邀请的基本控制逻辑,即发送、取消、接受和拒绝呼叫邀请。声网 RTM SDK 不会处理邀请接通之后的动作,也不会管理整个会话的生命周期。你需要根据自己的业务逻辑自行实现。
呼叫邀请可应用于以下场景:
在一个完整的呼叫邀请过程中,主叫和被叫的呼叫邀请状态分别由 AgoraRtmLocalInvitation 和 AgoraRtmRemoteInvitation 来定义。
发送呼叫邀请的步骤如下:
initWithCalleeId 创建 AgoraRtmLocalInvitation。此时 AgoraRtmLocalInvitation 生命周期开始。sendLocalInvitation 发送呼叫邀请。被叫收到 remoteInvitationReceived 回调,此时 AgoraRtmRemoteInvitation 生命周期开始。主叫收到 localInvitationReceivedByPeer 回调。主叫调用 cancelLocalInvitation 取消呼叫邀请。被叫收到 remoteInvitationCanceled 回调,此时 AgoraRtmRemoteInvitation 生命周期结束。主叫收到 localInvitationCanceled 回调,此时 AgoraRtmLocalInvitation 生命周期结束。
被叫从 remoteInvitationReceived 回调获取 AgoraRtmRemoteInvitation 并调用 acceptRemoteInvitation 接受呼叫邀请。被叫收到 remoteInvitationAccepted 回调,此时 AgoraRtmRemoteInvitation 生命周期结束。主叫收到 localInvitationAccepted 回调,此时 AgoraRtmLocalInvitation 生命周期结束。
被叫从 remoteInvitationReceived 回调获取 AgoraRtmRemoteInvitation 并调用 refuseRemoteInvitation 拒绝呼叫邀请。被叫收到 remoteInvitationRefused 回调,此时 AgoraRtmRemoteInvitation 生命周期结束。主叫收到 localInvitationRefused 回调,此时 AgoraRtmLocalInvitation 生命周期结束。
我们在 GitHub 提供一个开源的示例项目,你也可以前往下载体验并参考源代码。