2.之前公司用的是友盟推送,可以实现基本的弹框形式推送,为了语音播报在锁屏情况正常,我增加了iOS10 推出的UNNotificationServiceExtension “推送扩展” 关于在前台实现语音播报 我根据作者提供的UNNotificationServiceExtension,搜索使用方法完成了锁屏情况的语音播报。 1.UNNotificationServiceExtension的创建参考www.cocoachina.com/ios/20161017/17769.html创建完成后- (void)didReceiveNotificationRequest 注意:如果项目需求是在前台和后台播放,就仅需要参考www.jianshu.com/p/c06133d576e4的方法,如果所有情况都需要,仅需要添加UNNotificationServiceExtension
NotificationServiceExtension 1.1选择新建Notification Service Extension 在这里插入图片描述 1.2 创建NotificationService.m继承UNNotificationServiceExtension
UNNotificationServiceExtension,是一个在接收到APNs服务器推送过来的数据进行处理的服务扩展,如果App提供了服务扩展,那么APNs下发推送后在通知显示触发之前,会在UNNotificationServiceExtension UNNotificationAttachment,通知内容UNNotificationContent包含的附件,一般为图片、视频和音频,虽然iOS10的通知数据容量为4k,但依旧很少,在添加了UNNotificationServiceExtension
1.2 创建NotificationService.m继承UNNotificationServiceExtension ,并实现方法- (void)didReceiveNotificationRequest
四、相关资料 Advances in App Background Execution - 2019 UNNotificationServiceExtension
Background Remote Notification mutable-content boolean 可选 通知扩展 推送的时候携带”mutable-content":true 说明是支持iOS10的UNNotificationServiceExtension 详情参考:UNNotificationServiceExtension category string 可选 IOS8才支持。
{ print("error: \(error.debugDescription)") } }) } 通常在做多媒体自定义推送的时候,一般会用到UNNotificationServiceExtension
来看看如下的代码: // Adding an attachment to a user notification public class NotificationService: UNNotificationServiceExtension