美文网首页
iOS 极光推送 不同通知播放不用声音

iOS 极光推送 不同通知播放不用声音

作者: Iris_Feng | 来源:发表于2019-03-06 10:39 被阅读0次

今天遇到的产品需求是类似美团外卖,当有订单推送的时候,提示“您有新订单了”这样的提示音。一般的通知还是用的系统的提示音。本来以为一会会就搞定,结果用了快两小时的时间。不多说,上代码:

1.项目用的是极光推送。所以直接在这个方法中,将收到的通知内容进行解析。我们的需求是当后台给的字段“extrasparam”等于2的时候是订单,播放自定义声音。别的类型播放系统声音。系统声音列表详见:iOS 系统提示音列表,小伙伴们不要忘了将你们的自定义声音,改成和后台配置的“sound”字段的值一致,拖入工程中,记得要是caf格式的,切记切记。(我们用的是sound.caf, 哈哈)

极光的代理方法中获取通知内容 播放自定义声音

2.但是这样做的话,只有在App出于前台的时候才会播放自定义声音。因为将自定义声音的名称改为和后台小哥哥配置的值一致,导致App后台的时候,不管什么类型的通知,播放的都是自定义声音,难受~

尝试一:在- (void)jpushNotificationCenter:(UNUserNotificationCenter*)center didReceiveNotificationResponse:(UNNotificationResponse*)response withCompletionHandler:(void(^)())completionHandler;方法中,调用更改通知声音方法,结果失败。原因是这个方法是在用户点击声音的时候才会调用。但是我不要啊,我要推送过来的时候就播放自定义声音啊!

尝试二:让后台小哥哥给我推送消息,然后在收到自定义消息的时候在发送一个本地通知。结果还没实施就看到极光的官方文档中写到:

因为推送消息的话是不经过苹果的APNs,相当于是App内部的消息。

解决办法:

自己找了好多文档和博客看,都没有很好的解决我的问题。灵机一动,让后台小哥哥给我传sound的值的时候加个判断呗。也就是当extrasparam = 2的时候,sound的值是“sound.caf”,其他的时候值是“normal.caf”。我工程里的声音命名为“sound.caf”,哈哈,简单粗暴,完美解决。

相关文章

  • iOS 极光推送 不同通知播放不用声音

    今天遇到的产品需求是类似美团外卖,当有订单推送的时候,提示“您有新订单了”这样的提示音。一般的通知还是用的系统的提...

  • iOS推送通知(极光推送)

    写在前面 要实现推送功能先要有苹果的推送证书:如何创建苹果推送证书要使用极光推送的功能,需要先集成极光推送SDK ...

  • iOS 推送总结

    注册推送 收到推送 iOS10以前 iOS10之后 关于推送的声音播放 苹果默认的推送声音就不说了,需要播放自定义...

  • 【知识总结】(2)远程推送

    推送SDK:极光推送 后台点击推送: iOS 10 以下收到推送点击触发 iOS 10 以上触发: 极光推送中使用...

  • 极光推送的几个问题

    极光推送的几个问题 最近接入极光推送遇到了几个问题 服务端发出通知没有声音 需要设置声音字段的值, sound:'...

  • iOS通知----极光推送(四)

    极光推送流程 1.创建项目, 配置cocoapods; 极光官网不支持Cocoapods, 这里仅是网友自己上传的...

  • iOS-iOS10极光推送的使用

    1、首先先配置好推送证书,传到极光。极光推送->iOS证书设置指南极光推送->iOS SDK集成指南(XCode8...

  • iOS-极光推送的使用

    1、首先先配置好推送证书,传到极光。极光推送->iOS证书设置指南极光推送->iOS SDK集成指南(XCode8...

  • iOS极光推送实现角标清0,通知栏未读消息不清空

    【亲测有效】iOS极光推送实现角标清0,通知栏未读消息不清空

  • 推送通知-极光推送

    1:在极光开发者服务创建应用应用名称应用图标APNS开发证书(p12文件)(开发证书密码:-安装开发者证书到钥匙串...

网友评论

      本文标题:iOS 极光推送 不同通知播放不用声音

      本文链接:https://www.haomeiwen.com/subject/cunzuqtx.html