模仿支付宝语音收款提醒

近期,项目需要增加语音提醒功能,收到付款后APP自动语音提醒收到**元,期间遇到众多的坑,在此感谢那些帮我避开这些坑的大牛的帮助,以及个推的技术人员的耐心解答(虽然我集成的不是个推,但是期间我用的个推做的测试吐舌头),在此我罗列一下我遇到的那些问题。

iOS 10以下语音提醒只能播放本地语音,实现不了播放具体的收款金额,支付宝也是这样实现的。iOS 10以上的实现方式是系统提供了一个推送扩展功能(个人理解相当于创建了一个依附APP,依赖于主APP的生命周期),收到推送消息后推送的内容会来到这个依附的APP的方法中,以此来实现播放的具体金额的功能。

好了,话不多说,开始吧...

  

创建好后xcode会自动为我们创建一个文件夹,这个时候我们的项目就会有这个推送扩展了,

首先需要我们在新创建的文件夹中的info.plist配置一下允许HTTP

选择这个推送扩展,编译,有时xcode会自动为我们配置好证书,有时候不会,没有自动配置证书也没关系,对于这个推送扩展我们不需要重新申请证书,只需要用原来的证书就可以。


这里面有需要注意的几个点:1.需要选择对应的target,选择这个扩展的target

2.bundle idetifier 项目唯一标示是在原来APP的项目唯一标示上自动生成的,这点不用我们自己去改

3.如果xcode没有自动为我们自动选择证书的话,我们需要把原项目的描述文件在这个target中重新导入一遍,自动选择了更好,就不用操作这一步了。

4.扩展的target与主target的构建版本号与版本号要一致。

5.推送测试的话一定要选择推送扩展的target。

6.选择的推送扩展target支持的iOS版本选择10.0以上,主target还按原来的就可以。

推送扩展文件中.m的方法如图


不管用系统带的语音合成,还是用科大讯飞都可以,本人用的科大讯飞,


这时候又要注意一点,对这个扩展我们要重新导入相应的框架才能调用相应的方法(个人理解跟主APP无关 所以要重新导入),我

用的科大讯飞这是我重新导入的相应的框架。就这样我们就可以去相应的平台进行推送测试了。

注意:

1.选择推送扩展的target运行进行推送测试

2.后台推送的时候,sound字段不能用default,否则不调用推送扩展。

3.后台推送的时候,content-available字段设置为“1”。

4.在扩展.m方法中打断点,有时候不走断点,没关系,断开xcode连接试试走不走,推送扩展的推送包含title,可以设置一下title的名称来区别是否走了推送扩展的方法。

5.如果不走,先运行一下主target,推送条内容,在运行这个扩展的target,再推送内容。

6.如果还没走,删除APP重启一下手机试试。

7.如果还没走,给我留言我帮你看看大笑

(写的不好,多多担待大笑大笑

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q_q王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值