2015-02-05 108 views
2

当用户Y离线时,用户X(拥有Android中的Whatsapp)尝试向iOS中的用户Y发送消息(具有Whatsapp)。用户Y收到推送通知,表明他有来自用户X的消息。只要收到推送通知,用户X就能够在他的WhatsApp客户端中看到双刻度标记。 WhatsApp如何能够发现推送通知已成功传递给iOS客户端?WhatsApp如何实现通过推送通知在iOS中推送的消息的送达回执?

+0

我的问题确切!你知道了吗? – Mustafa 2016-12-22 05:28:02

回答

0

我真的不知道,但我会说Whatsapp保持在后台检测到它的服务。如果我是正确的,当您完全关闭应用程序(从多任务)并收到消息时,如果您未打开该应用程序,则其他人将看不到接收到的双击勾号。

+0

根据iOS多任务处理,Whatsapp无法在iOS的后台运行服务。 – pikini 2015-02-06 08:10:06

0

Whatsapp使用基于TCP的XMPP。因此,如果服务器能够连接到Y,则应确保消息已传送。 因此,如果whatsapp服务器能够将消息发送到Y,则该消息将被推出服务器。如果Y已经允许扩展发送消息状态,则Y会自动发送repsone给扩展名为“已发送”的X.

0

这不是真的有可能知道发生了什么事情没有这种情况发生见到了WhatsApp的至少一个协议转储,所以在与大肆炒作:

我猜想,WhatsApp的使用Message Delivery Receipts,即依靠客户端响应消息,而不是服务器。由于推送通知与中间服务(例如,APNS)通话,中间服务本身不会发送所述接收确认,所以在设备上运行的客户端在接收到推送通知时醒来,分析消息,并将传送确认发送给对话的发起者。

至少,我这样做,如果我试图利用现有的标准,这不一定是WhatsApp正在做什么。