

苹果已经对所有iOS开发者发出公告,中国区App Store上架的所有App都不能支持Callkit功能。
提及Callkit你可能比较陌生,它最熟悉的就是锁屏界面下,微信等应用来电能够直接显示“拒绝”和“接听”的全屏界面,这中体验,简直跟传统通话体验没有什么差异。
不过根据有关部门的规定,中国区都要屏蔽这个功能,而这对于微信等应用影响最大,因为有语音、视频电话打入时,锁频界面下,你不会在看到直接那种清晰的接听或者挂断界面提示,取而代之的是,一条新消息的提示,想要产看需要进入App中。
除了iOS外,安卓手机其实也是提供这个功能的,锁屏状态下直接弹出网络通话界面,这对于用户来说,多少会很不方便,但考虑到传统通话业务,所以也就很容易理解了。
CallKit是什么?
早在 2016 年,Apple 推出 iOS 10 的时候,这个 CallKit 就已经诞生了,但一直以来我们的「国民应用」——微信都还未加入 CallKit 的功能。最近,微信在 6.6.0 版本中加入了对 CallKit 的支持,不过在更新介绍中只讲了一句:“语音聊天可以像系统电话一样接听”。
那么我们便看一看,它到底能干什么?
有通话来时
以往 iOS 版本的微信在进语音通话及视频通话的时候,如果此时不在微信内,那这两类通话的通知只会像其他通知一样在屏幕上方弹出来。考虑到通话一般来说即时性较高,但这种通知的优先级太低,容易被使用者忽略。
由于我自己经常使用微信的语音通话及视频通话,且通常是被打电话的那个,微信的通话功能如果不在微信内,来电通知经常会有延迟,很容易错过。
而 CallKit 则能够让微信之类的 VOIP 通话应用像系统的来电一样,拥有极高的优先权,即便不是在微信内,也能像电话一样直接在系统最顶层出现。
如此一来,即使是微信的通话,也不怕错过了。
通话进行时
那在系统中接下的微信通话,会怎么样呢?CallKit 会告诉微信,你刚刚收到的通话,已经被用户接听,此时由于直接跳转至了微信内,CallKit 的工作就完成了。
之所以说是语音通话,是因为目前微信的视频通话,没有像语音通话那样能够有极高的优先级,不知道未来会不会加入这个功能。
同时 CallKit 还允许用户在接听了微信通话后,同时接上系统的来电。这其实和系统通话里,进两个电话时,让其中一个暂且保持在后台一样。
通话未接通
来电难免有未接通的时候,微信通话更是如此,那如果微信通话没接通,会怎么样呢?与来电相同,未接通的微信通话也会出现在系统「电话」应用里的通话记录中,方便用户查看。
在未接通话中,还会显示是来自微信的音频通话,点进去后还能看到具体的微信 ID、拨打时间,同时也能回拨,不过还无法和微信相关联。后续如果通讯录能介入微信,应该会更方便一些。
其实 CallKit 功能并不是能带来多大变化的功能,只是说以一个小的体验提升为出发点,让 iOS 系统变得更加贴心。