跳转至

实时音视频推送

使用和设置实时音视频推送之前,必须设置和开启普通消息的远程推送。

如果使用了融云通话 SDK( CallKitCallLib),则需要开启实时音视频推送功能并上传 VoIP 推送证书。

开通服务

首先,您需要在 Apple Developer 为您的 App 开启远程推送服务。 具体步骤可以参考文档

生成证书

点击 Certificates -> All ,在 iOS Certificates 界面,点击右上角的加号。

image

选择 Production -> VoIP Services Certificate,点击 Continue

image

选择您应用对应的 App ID,点击 Continue

image

点击 Create Certificate,这时候会提示您需要一个 Certificate Signing Request(CSR)

image

根据其说明,在 Mac 上打开钥匙串应用,在菜单中点击“从证书颁发机构请求证书”。

image

输入您的邮箱、姓名或公司名,选择保存到磁盘,点击继续,就会生成一个 *.certSigningRequest 文件。

image

然后返回 Apple Developer 网站,点击 Continue,上传生成的 .certSigningRequest 文件,点击 Generate,即可生成推送证书。

image

将上面的 SSL Certificate 都下载到 Mac 本地,双击打开,系统会将其导入钥匙串中。 打开钥匙串应用,选中对应的证书,右键选择导出。保存 P12 文件时,可以为其设置密码,也可以让密码为空。

image

image

上传证书

在融云开发者平台 App -> IM 服务 -> 应用标识 路径下,选择生产环境,上传刚才导出的 P12 证书。

image

注意

苹果规定只有生产环境才能使用 VoIP 推送,所以开发环境无法使用 VoIP 推送。

设置 provisioning profile

Xcode 中设置 provisioning profile

因为苹果的 VoIP Push 只提供生产环境的证书,所以只有在生产环境才可以使用 VoIP 推送。

所以您在打包的时候,需要设置 provisioning profiledistribution 才能收到 VoIP 推送。 关于 Xcode 如果设置 provisioning profile的更多内容,可以参考文档。

开启后台 VoIP 通话设置

在工程设置中 Capabilities -> Background Modes ,Xcode 9 之前勾选上 Voice over IPRemote Notifications

image

Xcode 9 之后需要在 info.plist 中设置如图:

image

注意

因为收到 VoIP 推送之后,App 在后台会被系统短暂唤醒。 为了正常处理通话相关逻辑,需要在 AppDelegate- application:didFinishLaunchingWithOptions: 方法中需要初始化融云 SDK 并连接服务器。