iOS 聊天功能接收消息选择APNS推送还是应用内消息,为什么?

jpush
ios
标签: #<Tag:0x00007fb846086fa0> #<Tag:0x00007fb846086b18>

(牛牛) #1

聊天功能中,接收消息时,app退出后,后台进程也关掉时,此时用apns推送吗?目的为了继续可以接收到消息;

当app运行时,是继续选择apns还是应用内推送?是选择应用内推送吗?为了保证消息快速接收到。

我这样理解对吗?请详细说一下,到底该怎么选择推送,并且原因是什么?

在此基础上,想请教后台发送的消息,前台怎么控制是否弹款(即 勿扰模式)、是否播放声音?谢谢!


#2

你如果需要加入聊天功能,为何不直接集成我们的即时通讯的JMessage SDK,JMessage SDK 会自动在退到后台时转发apns消息提醒给你的设备,也可以选择关闭提醒。
https://docs.jiguang.cn/jmessage/guideline/jmessage_guide/

针对如果你使用 JPush 回答:

在聊天过程中,APP处于前台,自然是应用自定义消息来实现,这样更快,且可以直接取到内容,走apns消息,Apple不保证送达,且在不用background功能时,必须要点击通知栏才可以取到内容。

iOS 10 以前,推送的 apns 通知,在前台收到时,是本来就不会有提醒的,iOS10开始提供了提醒方法,你也可以控制展示方法,但是是一次性的。


(牛牛) #3

您好,我还是不太清楚,到底怎么控制勿扰模式。我是想实现类似微信聊天的勿扰、关闭声音、关闭震动功能。是通过接口让后台服务器设置,还是前台来设置?如果前台设置,怎么设置?


#4

1、微信聊天的勿扰,也只是设置处于应用内时的消息的提醒

2、微信的通知提示,也是必须需要去系统-设置里面去控制的

通知消息的声音控制,客户端只能在系统里面设置,服务端推送的时候可以通过sound值控制


(牛牛) #5

比如实现这个场景,逻辑流程是什么样的?场景:我设置对方人员A为勿扰模式,这时候应用内接收的消息,我怎么处理才是勿扰模式?同样,如果这时候是应用外,apns发送的推送,怎么才能让这个推送是勿扰模式?


#6

如果你坚持用JPush实现聊天功能

1、推送应用内消息,应用内消息,本身就是不展示的,展示由你们自己实现,那么消息的声音震动等等,都是你们自己实现的,自然可以控制,怎么控制自然也是你们自己实现。

2、apns通知的控制,只能在系统-设置页面去操作!!!

3、或者就是在设置了某用户为勿扰后,你推送给他消息时,notification里面的sound直接控制