声网 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 提供一个开源的示例项目,你也可以前往下载体验并参考源代码。