前提条件:你已经在极光官网后台申请了极光推送所需要的APP_KEY,以及在苹果开发者中心在你的项目中开启了推送权限,并制作了推送证书上传到极光后台,前面这些不知道怎么设置的,请自行问度娘。没办法,ios端就是这么繁琐,每申请一个权限,几乎都需要设置对应的证书,相对于安卓来说,麻烦一点。

一、在你的Cordova ios工程中安装极光官方的插件,安装方法如下:

cordova plugin add jpush-phonegap-plugin --variable APP_KEY=your_jpush_appkey

具体内容详见极光的github网址:https://github.com/jpush/jpush-phonegap-plugin

二、转换音频文件

由于ios系统播放器默认播放只支持三种格式aiff, wav, 和 caf(应用在前端后台不运行都可以播放,只要安装应用能收到消息就可以),所以需要将原来的.mp3的格式进行转换,如果本身就是系统所支持的文件格式,就不用转换,转换方法如下:

afconvert xxxx xxxxxx -d ima4 -f caff -v
xxxx:原mp3音频路径
xxxxxx:转换后存放的音频路径
eg: afconvert /Users/areswong/Desktop/video_call_notice_30secs.mp3 ~/Desktop/video_call_notice_30secs.caf -d ima4 -f caff -v

这里特别说明一下,(1)有些手机系统,经过我反复测试,即使自定义的音频文件是.mp3格式的也是可以播放的;(2)自定义的音频文件不要超过30秒,超过30秒部分无效;(3)如果你应用的通知横幅模式设置是“临时”,那么你的自定义通知,默认情况下只能播放前5秒,如果想把你设置的自定义声音播放完,需要把横幅模式改为“持续”。

三、将第二步转换好的音频文件拖入的你的工程中,如下面所示。

(1)将转换好的音频文件拖入Resources目录下,如下图:

(2)拖入之后会有一个弹出弹窗,如下图操作即可:

(3)然后在targets中的Build Phases中查看是否存在这个音频文件,如果不存在则需要添加上,如下图:

自此引入音频文件完成 。

四、服务端文件进行设置,我用的是PHP文件,其他文件设置请参考极光官网说明或者下载对应的demo进行查看设置。

(1)应用在后台时想触发回调需要在推送的服务器端php(jpush.php)中传入字段:"content-available":1 ,或者 "content-available":true,在sound字段下添加即可(这个可以先不设置进行测试,如果再后台也能收到通知,则不设置)

(2)检查服务器端jpush.php 文件的sound字段的音频名称与工程的文件音频名称是否一致(包括后缀名,如果不一致请改为工程中引入的那个音频文件名称),例如我测试设置的sound字段为sound: video_call_notice_30secs.caf。

以上两点操作如下图:

以上就是设置自定义声音的方法,注意事项如下:

1、如果是需要进行打包测试,则需要将apns_production字段设置为false(开发模式)

2、真机运行,静音模式听不到,请关闭静音模式。

3、播放的音频在默认情况下只有5秒左右,当通知栏收回时,音频也会自动停止。想要播放更长的时间则需要在手机设置-》你的APP设置-》通知-》横幅风格 改为持续,这样推送通知不会收回,音频就可以播放完。

这些都是我在工作中出现的问题以及解决的一些办法,如果对您有所帮助,就点点赞吧!如果没有帮助,就当我没说。因为我这不是专业学ios的,只是将我实际出现的问题以及解决办法记录一下,如果有错误的地方,请大家指出,谢谢!

关于Cordova iOS 工程极光推送通知自定义声音的设置相关推荐

  1. iOS上简单推送通知(Push Notification)的实现

    iOS上简单推送通知(Push Notification)的实现 根据这篇很好的教程(http://www.raywenderlich.com/3443/apple-push-notification ...

  2. 向 iOS 设备发送推送通知

    向 iOS 设备发送推送通知 直接向 iOS 应用程序提供丰富的内容 Michael Yuan 2012 年 5 月 25 日发布 背景 SMS 和 MMS 消息是由无线运营商通过设备的电话号码向特定 ...

  3. ios客户端学习笔记(八):iOS客户端的推送通知

    iOS客户端的推送通知是指通过苹果的推送通知服务(APNs)向已安装应用程序的设备发送通知消息.这些通知可以在设备的锁屏屏幕.通知中心和应用程序内展示,以提醒用户有新的消息或事件需要处理. 推送通知通 ...

  4. iOS开发 - ANPs推送通知 标签: 推送通知ANPs远程推送、本地推送

    iOS开发 - ANPs推送通知 标签: 推送通知ANPs远程推送本地推送 2015-05-03 14:12 3510人阅读 评论(0) 收藏 举报 本文章已收录于:  iOS知识库  分类: [IO ...

  5. iOS开发-极光推送SDK使用笔记

    推送作为一个产品必备功能,越来越得到所有人的重用,市面上做推送的第三方公司也有很多,像个推,百度,甚至友盟也出了推送功能.用什么不是我们能决定的,而是上级或产品决定的,所以我负责的项目用了极光推送,我 ...

  6. 在ionic/cordova中使用极光推送插件(jpush)

    Stpe1:创建一个项目(此处使用的是tab类型的项目,创建方式可参照我前一篇如何离线创建Ionic1项目) Stpe2:修改项目信息 打开[config.xml]修改下图内容: Stpe3:创建极光 ...

  7. iOS:极光推送控制器跳转

    在前面已经做完了极光消息的推送,那么有消息了,如何跳转到需要的控制器呢?其实,主要还是在userInfo这个消息里面做判断来处理,具体如下: 下面这两个是远程推送时接收消息的方法,这是应用程序提供的方 ...

  8. 制作IOS 后台极光推送时,遇到的小问题

    推送广义上分为两种, 一种是  程序在前台的时候,不想在任务栏里面显示通知,直接在app中进行某种操作.这个叫做自定义消息.这个是在前台时,app与极光后台建立了一个长链接. 另一种是  程序处于前. ...

  9. iOS开发 - ANPs推送通知

    推送通知 注意:这里说的推送通知跟NSNotification有所区别 NSNotification是抽象的,不可见的 推送通知是可见的(能用肉眼看到) iOS中提供了2种推送通知 本地推送通知(Lo ...

最新文章

  1. Ubuntu系统下移动宽带自动启用设置
  2. 造成java.io.IOException: Stream Closed异常的代码
  3. Centos中提示You have new mail in /var/spool/mail/root 解决
  4. matplotlib可视化必知必会富文本绘制方法
  5. C# 类构造函数赋值里属性与字段赋值注意项
  6. pwm波如何控制电机代码_PWM波控制720电机
  7. 正则表达式与html信息提取,基于正则表达式的HTML信息提取.pdf
  8. 普林斯顿校长2018演讲:读书无用是最大的谎言
  9. vue-cli3出现Invalid Host header的解决方案
  10. ps切图后 JAVA开发_2018年设计师都在用的PS切图插件--摹客
  11. 昨晚家里停网后,我动了邪念用Python破解了隔壁小姐姐的wifi密码
  12. Win10 多出4个显示器无法删除的“通用非即插即用监视器”问题解决
  13. 自定义TimePicker样式,修改时分、分割线分隔冒号的字体、颜色高度等属性
  14. Spark学习:Win10中编译Spark源码
  15. Python学习笔记 使用matplotlib创建Gif动图
  16. 网站收录怎么做?如何提升收录【实操篇】
  17. delphi xe7 EMS是什么 什么作用,怎么使用?
  18. 你好,罗茜——爱要怎么说出口
  19. cf全屏下面桌面任务栏_还有玩CF时,下面会有任务栏。也就是说不能全屏!请问怎么回事...
  20. JVM内存模型与内存溢出异常

热门文章

  1. MySQL的MDL元数据锁
  2. java 多线程 卖票_编写一个Java 多线程程序,完成三个售票窗口同时出售20张票(如下图所示);...
  3. Win11开机提示音要怎么改?
  4. Flutter中那些你需要知道的文本知识!
  5. pycharm 激活码2018年9月22日亲测有效
  6. JavaScript实现简单的双向数据绑定(Ember、Angular、Vue)
  7. 用ENSP华为模拟器配置一个完整的校园网
  8. 利用存储过程分页显示查询数据
  9. RK3399平台开发系列讲解(以太网)5.11、PHY工作的代码流程
  10. addweek oracle_Oracle数据库常用语法