极光间歇性的收不到推送

android
jpush
收不到消息
标签: #<Tag:0x00007fb8338ec2e8> #<Tag:0x00007fb8338ec1a8> #<Tag:0x00007fb8338ec068>

(王中一玉) #1

问题描述:
java后台一直在推送,移动端极光间歇性的收不到推送,一般10分钟能接到,5分钟接不到,然后10分钟接到,然后接不到,基本是这个规律。如何能一直接收到?时间没那么绝对,有左右的滑动。


#2

Android端请保证你长连接正常,请不要过于频繁的推送消息,离线期间的消息只保留 5条


(王中一玉) #3

1:长连接能保证。有自已的监测机制。
2:后台一直推送是业务需求。(200个并发数,每隔10秒推送一次)
怎么解决间歇性的问题?


#4

你们怎么做的监测?
https://docs.jiguang.cn/jpush/client/Android/android_api/#_145

基本上 Android收不到,就是你APP与极光服务器的长连接断了。

如果要查询,需要给收不到的msgid,和你设备的registrationID信息出来。


(王中一玉) #5

第一种方法:在一个service中,开启一个Timer ,定时用JPushInterface.isPushStopped(getApplicationContext())来判断(30秒)。
第二种方法:你给的方法。


#6

isstoppush 是针对你调用了 stoppush的检测,与长连接这块是无关的。


(王中一玉) #7

你给的方法是要收费用户才有的功能吗?


#8

不是,这个方法,是都可以用,但这个的用处只是 监听链接的状态,获取状态,并不能说让连接从断开变为连上。

SDK会在断开时自动重连,心跳时间间隔是 4分50秒一次