ios前台接收推送怎么设置声音和震动

jpush
ios
标签: #<Tag:0x00007fb846a49880> #<Tag:0x00007fb846a49538>

(aQ) #1

ios应用程序在后台或者杀死状态,接收到远程推送都会有声音和震动,在前台就没有反应,这是为什么?


#2

iOS 10 以下前台收到通知是不提醒的,这是iOS系统的规则,iOS 10 以上才提供相关方法

阅读 本帖 常见问题 - JPush 合集(持续更新) 第三点最后几个说明


(aQ) #3

感谢,很有帮助,那么App自定义设置震动效果需要向极光发送那个字段去设置吗?


#4

sound 字段应只能设置通知铃声,是否开启或关闭震动应该是在系统设置里面去设置,自定义设置震动效果的,应该是 App 前台你们可以自己调原生相关的 API 去实现控制,远程通知没法做控制。


(aQ) #5

好的,谢谢你。


(aQ) #6

现在出现的问题是设置了sound字段,无论怎么设置震动效果都无效了


#7

在什么情况下设置震动?怎么设置震动?对远程消息设置震动吗?关闭还是打开?


(aQ) #8

在处理APNs通知回调方法中添加一个通知,响应通知的方法里设置震动,使用AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)设置震动,是对远程消息设置的震动,打开或者关闭都不可行
添加通知之前对回调方法中的userInfo进行解析,由于解析不成功导致无法添加通知,我想知道userInfo是苹果服务器返回的数据吗?


#9

你这样的操作是在前台获取消息的方法里面进行的?

后台或杀死状态下收到消息一般是需要点击了通知栏才会获取到消息内容的,他们的提醒是 iOS 系统自动就会完成,userinfo里面的包括 apns 标准信息和你的 extra 信息,都是你们推送的时候所传的值


(aQ) #10

操作是在前台进行的,那如果进入后台后接收到消息推送调用didReceiveNotificationResponse方法时,同样的添加一个通知进行设置震动效果可以吗?


#11

这个我们没有测试过这样的操作,你可以自行测试下看看,看你设置震动的条件是否能达到。


(aQ) #12

你说后台或杀死状态下收到消息,提醒是 iOS 系统自动就会完成的,所以在didReceiveNotificationResponse方法设置也是无效的