实现离线推送
功能简介
音视频通话 UIKit(Call Kit)支持向离线应用(即在后台被冻结或遭系统或用户杀掉的应用)发送呼叫邀请。
前提条件
在实现“离线推送”功能之前,请确保已集成最新版本的音视频通话 UIKit(Call Kit),并且完成在线邀请功能。详情请参考 快速开始(包含呼叫邀请)。
实现流程
接入第三方厂商离线推送通道
请参考下列推送集成指南,集成您需要的第三方厂商离线推送 SDK,接入各厂商的离线推送通道。集成方式会因为您的工程打包方式而有所差异。
完成上述步骤,即可在集成 ZPNs uni-app SDK 时,自动集成上述厂商的推送 SDK。
(仅适用于云端打包项目)配置离线推送
配置 vivo 推送
针对 vivo 推送,在 “App原生插件配置” 中,传入 vivo api_key 和 app_id,如图额外信息:
如何获取 vivo api_key 和 app_id,请参考 vivo 推送集成指南。
配置华为推送
由于接入华为推送需要在 App 的工程目录下增加 agconnect-services.json
文件,而云端打包的运行基座在 uni-app 厂商云端,那么这里就需要开发者在云端打包构建 apk 时上该文件。
具体方法:打开 HBuilder,在 nativeplugins
目录下把刚集成进去的 zego-ZPNsUniPlugin
目录里的 android
子目录下,创建一个名为 assets
的目录,然后把从华为开发中心里下载好的 agconnect-services.json
拷贝进去即可。
配置 Push 推送模块
在 HBuilder > App 模块配置中勾选使用 “Push” 推送模块。
不要勾选 uniPush
。
开启离线推送并配置安卓第三方推送通道
根据前提条件集成的第三方厂商离线推送 SDK,启用各厂商的推送功能,然后调用 ZegoUIKitPrebuiltCallService.init 接口,配置第三方推送通道。
ZegoUIKitPrebuiltCallService.init(appID, appSign, userID, userName, {
// 开启离线推送
enableNotifyWhenAppRunningInBackgroundOrQuit: true,
// 安卓各家厂商的离线推送设置项
offlinePushConfig: OfflinePushConfig,
});
离线推送配置项请参考 OfflinePushConfig。
发送呼叫邀请时使用离线推送功能
您可以根据所需效果,从以下方式中选择最适合的实现呼叫邀请离线推送。