iPhone QQ 手动结束进程后,在手机屏幕不点亮的状态下无法接到 QQ 电话,文字消息推送正常。这是 bug 吗?

2017-05-04 22:50:19 +08:00
 shanwu
因为最近错过了两次 QQ 电话,就研究了一下。发现如果将 QQ 进程从后台结束,再将屏幕熄灭,这时就接不到别人的 QQ 电话了,不管对方呼叫多长都没有任何提醒。错过电话后,即使重新点亮屏幕,在点进 QQ 前都没有任何提醒。但文字消息推送正常,对方如果先发送一条文字消息点亮我的屏幕,再打电话我还是能接到电话的。所以我推测我错过电话是因为长时间不用 QQ,进程就被系统从后台给杀了,而 QQ 又有个不在后台运行的时候无法提醒 QQ 电话的 bug ?

iPhone 6,iOS 10.3.1,QQ 6.7.1.416。后台应用自动刷新关闭,Wi-Fi 和 4G 环境下都试过,已重启,已重置网络设置。

让我朋友试了一下同样如此。本想发到「全球工单系统」节点,但不知道这是不是普遍现象。也不知道我用手动结束进程来模拟几小时不用 QQ 后其进程的状态这样的测试方法是否正确。
2116 次点击
所在节点    问与答
7 条回复
mooczz
2017-05-04 23:38:07 +08:00
正常情况下,即使杀掉 QQ,也是应该收到推送通知的,iOS 8 之后苹果启用了 VoIP 推送,iOS 9 以后就禁止了长链接,显然 iOS 10.3.1 一定是通过 VoIP 推送。如果收不到推送,一种可能是你的网络问题或 VoIP 推送延时,还有一种可能是 QQ 服务器和苹果的 APNs 服务器的 connection 断开了,这种情况下,发送文字消息 QQ 服务器会尝试重新建立与 APNs 的连接,再拨打电话就能收到了
mooczz
2017-05-04 23:40:36 +08:00
VoIP 承载了全部即时通讯应用的后台推送功能,出现异常也在所难免,我昨天就发现微信消息会重复收到同一条消息的通知,怀疑是 APNs 服务器不稳定,微信服务器没有及时收到 APNs 服务器返回的状态
shanwu
2017-05-04 23:51:59 +08:00
@mooczz 我也用同样方法试了微信,结束进程,熄灭屏幕,让对方拨打电话,但顶多延迟个几秒,还是会响铃的。只有 QQ,完全收不到任何提醒,让朋友也用同样的方法试了,结果一样,所以应该不是我这边的问题吧?如果说是「 QQ 服务器和苹果的 APNs 服务器的 connection 断开了」,那每次我结束 QQ 进程,QQ 服务器都会和苹果的服务器断开吗?主要是似乎这并不是偶尔的故障,今晚试了很多次,屡试不爽……
mooczz
2017-05-05 00:20:12 +08:00
看你的描述,基本可以确定是 QQ 服务器和 APNs 服务器之间的 connection 的问题。
APNs 推送有新旧两套方案,旧方案是基于二进制的 APNs 协议,新方案是基于 HTTP/2 的 APNs 协议,旧方案有很多缺陷,比如 payload 可容纳的信息量远小于新方案,而且旧方案不能准确的获取推送消息的状态。不过,考虑到腾讯的研发能力,不可能放弃新方案,采用漏洞百出的旧方案。具体情况不得而知
yov123456
2017-05-05 08:19:24 +08:00
qq 电话现在已经不用 voip 推送换回原本旧的推送了…
paradoxs
2017-05-05 08:54:09 +08:00
@mooczz 提问: APNs 服务器会返回消息的发送状态吗?例如 消息发送成功 消息发送失败.
mooczz
2017-05-05 09:21:06 +08:00
@paradoxs 基于 HTTP/2 的可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/359214

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX