iOS如何启用CallKit

目前在国内使用CallKit是不合规的,因此CallKit主要给国外使用。使用callkit需要客户端和推送服务同时支持,下面介绍一下如何在野火开启:

1. 客户端

客户端的修改需要3部分,分别是iOS SDK(包括client和avenginekit)、iOS Demo和其他端。

1.1. iOS SDK

iOS SDK包括client和avenginekit都需要更新到2022.4.26日以后的版本就可以了。SDK内部的修改主要是把部分音视频消息从avenginekit移动到client,然后这些消息的encode方法把部分信息放到pushData中。

1.2. iOS Demo

iOS Demo也就是iOS应用了,需要在appdelegate.m中处理callkit。把代码更新到2022.4.26以后的代码,在代码中搜索USE_CALL_KIT,把开关打开。目前跑通了基本功能,可能还有细节需要进一步优化。此外还需要把callkit和pushkit系统库添加依赖。

1.3. 其他端

如果您有其他端,也需要同步修改,因为其他端打来的信息也需要带上足够的信息。请把其他端的client和avenginekit都更新到2022.4.26以后的版本。

2. 推送服务

推送服务也需要更新到2022.4.26日以后版本,修改主要在ApnsServer.java文件中,voip推送加上了足够的信息。另外需要打开voip推送开关,修改apns.properties文件,把apns.voip_feature开关改为true。

3. 如何共存

目前demo的做法是一刀切,要么开启callkit要么关闭callkit,可能有部分客户需要国内关掉callkit,国外开启callkit。这个需求就需要二次开发了,客户端应用每次启动时主动联系推送服务告诉他自己是否支持callkit,然后在客户端本地也需要做好支持与否的切换,开发应该比较简单。

2018 © wildfirechat.net 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2022-08-29 09:42:41

results matching ""

    No results matching ""