关于推送和语音播报

2018-12-13  本文已影响0人  chushen61

这两天增加一个需求,app退出或在后台运行都能收到推送过来的消息,刚开始用极光推送遇到延时的问题,并且极光推送不稳定,有一次连续五天收不到推送消息并且延迟严重 并且每年交费的用户 iOS这块果断弃用,安卓采用极光+MQTT+各机型系统推送 这里介绍下iOS推送的处理

讲下苹果系统自带的推送:

方法一:iOS这块采用MQTT长连接的时候app在后台运行采用两种方法 1、使用CLLocation 在后台持有不让退出,收到消息之后给语音播报 2、app在后台运行调用心跳包长连接MQTT,当app<60S被挂起的时候,让后台运行在执行一次。这两种方法都有弊端,app锁屏状态10分钟之后 app收不到消息!注意:需要加本地音频播放 后台运行的功能  否则审核通不过 亲测有效

方法二:极光推送  极光集成苹果系统推送 具体参考极光文档很详细

方法三:苹果系统推送 Extension扩展  亲测 在iOS12.1以下 合成语音播放 app前台、后台运行、app进程杀死都可以收到推送和播放 对于系统有局限性

方法四:采用VOIP推送功能 现在项目中使用这个方法 微信和支付宝也是使用这个方法,第一步 需要含有语音通话功能 app需要集成相关联的功能 我这边集成的环信 否则审核通不过 第二步VOIP相关的工程师配置 第三步使用pushKit相关的方法处理推送通知 我这边使用的是DFPushKitManager   第四步 同时推送十条消息的处理机制(可采用串行队列来一条播一个 可采用数组逐个播放)亲测有效

如有问题可留言和发demo

参考文献:官方文档:https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ModifyingNotifications.html#//apple_ref/doc/uid/TP40008194-CH16-SW1

https://yq.aliyun.com/wenji/240777

上一篇下一篇

猜你喜欢

热点阅读