什么是来电邀请SDK?微信音视频通话想必大家都用过。是电话邀请在社交场景中的表现形式之一。同时,电话邀请也被用在很多场景:娱乐场景:PK连麦、抢麦教育培训场景:举手代言人企业服务:商务类微信金融服务:远程面谈、保险损失评估更多:应急指挥调度、健康医疗呼叫邀请需要具备以下功能:一套完整的呼叫邀请流程音视频通信能力自由灵活,方便业务逻辑扩展开放的媒体控制权(管理您的自己的媒体输入设备等)在线体验Demo这里有一个简单基础的DEMO,请点击体验。来电邀请SDK的快速实现来电邀请SDK的实现并不容易。我们面临的问题很多,其中最突出的是:应用场景广泛,如何在不同的场景下实现不同的业务逻辑?不同的应用场景意味着需要处理的业务逻辑是不同的。针对不同场景进行开发,既费时又费力,并非明智之举。那么如何开发一个既具备调用流程和音视频通话能力,又能满足不同场景不同业务逻辑的SDK呢?为了解决这个问题,我们可以在调用邀请流程中加入多个生命周期,在不同的生命周期中做不同的事情,从而在不同的场景下实现不同的业务逻辑。因此,呼叫邀请SDK需要有呼叫邀请流程和实时语音通信两个核心模块。呼叫邀请流程:基于IM或信令服务和消息推送服务的一对一或群组消息通知服务。实时语音通话:基于webRTC的一对一、多人音视频通话解决方案。其中,通话邀请流程非常重要,它决定了何时加入音视频通话,何时退出音频通话。基本功能为了方便理解,我们将通话邀请的大致流程和基本功能分别理解为主叫被叫用户:主叫:发起通话邀请的用户发起通话邀请:一对一,多人结束通话/取消通话邀请:结束正在进行的通话或取消(未接受/拒绝)邀请事件通知:通知通话邀请的状态和进程被叫:收到通话邀请的用户接受邀请:收到通话邀请后,可以执行接受邀请操作拒绝邀请:收到调用邀请后,可以执行拒绝邀请的操作问题及潜在因素,如:呼叫邀请超时、对方接听、未及时接听网络异常k断线、回拨、保持通话、忙用户不在线、发送推送消息等,callinvitation,callinvitationlifecycle上面我们将用户分为两个身份,每个身份在每次呼叫邀请过程中都是不同的,也就是说主叫方和被叫方的生命周期是不一样的,所以我们需要划分整个调用邀请过程根据主叫方和被叫方两个身份来划分,分别是主叫方的生命周期和被叫方的生命周期:主叫方的生命周期,之后调用方发起邀请,直到邀请过程结束,所有可能发生的事件,我们都会提供回调方法来实现。对方没有回答对方是否收到邀请。对方接受了邀请。对方拒绝了邀请。邀请失败及原因。被叫方的生命周期。被叫方收到邀请后,直到邀请流程结束,我们都会对这个过程中可能发生的所有事件进行回调。方法来实现。未能及时响应接受邀请成功拒绝邀请成功调用者取消邀请邀请失败及其原因这样我们可以在不同的生命周期做不同的事情,从而实现不同场景的业务需求。下面我们列出一些不同情况下对应的呼叫和被叫生命周期:发起呼叫邀请取消呼叫邀请接受呼叫邀请拒绝呼叫邀请呼叫邀请未响应最后,我们用一个公式来表达:消息通知服务=(IM||信令服务+消息推送服务)+生命周期;来电邀请SDK=消息通知服务+音视频通话;
