2015-02-05 109 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正在做什麼。