ToB企服应用市场:ToB评测及商务社交产业平台

标题: ios apns推送 离线锁屏语音播报 [打印本页]

作者: 欢乐狗    时间: 2023-4-26 01:34
标题: ios apns推送 离线锁屏语音播报
一、背景

公司正在研发的一款App,需要在进行消息推送时支持语音播报。 具体要求:
苹果的APNs消息推送, 支持在应用未打开及设备锁屏状态下收到推送。 而同时进行语音播报,则需要做一些特殊处理。 目前语音播报的场景有两种: 一种是固定音频的播放, 一种是需要动态合成后的音频播放。如支付宝或微信收款的消息提醒: “支付宝/微信成功收款100元” 。 基于以上两种场景,接下来会逐一分析。在分析之前,需要先对APNs做一个简单的了解。
二、认识APNs

APNs(英文全称:Apple Push Notification service),中文翻译为:苹果推送通知服务。
通知是由两个主要部分组成的数据:设备令牌deviceToken 和 payload消息。
2.1 工作步骤

参考如下顺序图,会更易理解:

2.2 payload 消息JSON结构
  1. {
  2.     "aps" : {
  3.         "alert" : {
  4.             "title" : "Game Request", // 标题
  5.             "body" : "Bob wants to play poker", //内容
  6.         },
  7.         "badge" : 5, //角标
  8.         "sound" : "binggo.caf", //声音
  9.         "content-available" : 1,
  10.         "mutable-content" : 1, //可变内容
  11.     },
  12. }
复制代码
注意: payload 最大不能超过256字节
aps字典包含苹果用来向用户设备发送通知的keys。key指定了您希望系统在提醒用户时使用的交互类型。
下表列出了包含在该字典中的keys以及每个key的信息类型。注意:非苹果给定的key会被忽略。
键值的类型描述alertDictionary or String当您希望系统显示标准警报或横幅时,请包含此键。用户设备上应用程序的通知设置决定是否显示警报或横幅。该key的首选值是字典 。字典的更多关键字请参阅 Table 9-2。 如果指定字符串作为该键的值,则该字符串将显示为警报或横幅的消息文本。badgeNumber当您希望系统修改应用程序图标的角标时,请包含此键。如果字典中没有包含此键,则Badge角标不会更改。若要删除角标,请将此键的值设置为0。soundString当您希望系统播放声音时,请包含此键。此键的值是应用程序main bundle 或应用程序数据容器的Library/Sounds文件夹中声音文件的名称。如果找不到声音文件,或者为该值指定了default,系统将播放默认警报声音。有关为通知提供声音文件的详细信息;请参阅自定义警报声音。content-availableNumber设置此键的值为1,以配置后台更新通知。当此key存在时,系统会在后台唤醒您的应用程序,并将通知发送给其应用程序代理。有关配置和处理后台更新通知的信息,请参阅配置后台更新通知。categoryString为该键提供一个表示通知类型的字符串值。此值对应于应用程序的某个注册类别的identifier属性中的值。要了解有关使用自定义操作的更多信息,请参阅配置类别和可操作通知三、固定语音的推送方案

四、合成语音的推送方案

4.1 Notification Service Extension 通知服务扩展 介绍

4.2 Notification Service Extension项目中的使用

4.3 iOS12之前的方案

4.4 iOS12之后的方案

更多内容详见:https://blog.csdn.net/zhanglei5415/article/details/130316253

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4