2015-11-30 68 views
1

想象一下,用戶安裝了Facebook Android應用程序,但未打開。即時消息如何發送到Android應用程序?

當用戶收到來自朋友的聊天消息時,會出現在手機上。這是利用Google Cloud Messaging推送通知來傳遞聊天消息嗎?這是發送消息給用戶的最佳實踐方法嗎?或者,Android應用程序(Facebook/WhatsApp /微信)需要打開一個持久的Web套接字連接嗎?

回答

1

對於應用程序,您明確列出:

的Facebook Messenger使用MQTT。 WhatsApp廣爲人知的使用XMPP。這兩個應用程序都使用長壽命的套接字連接。

儘管如此,GCM是最容易設置的。

+0

謝謝!這是否意味着即使android應用程序不活動,它將需要保持持續連接打開?這會消耗電池壽命嗎? – codeshark

+0

@ android-user對於你的第一個問題,是的。通常你通過服務來做到這一點。對於第二個問題,一個空閒的TCP連接不會使用任何帶寬或CPU發送「keepalive」數據包。因此,在閒置連接中,電池壽命使用將由「保持活動」數據包之間的時間決定。 – asadmshah

1

我們可以使用推送通知來發送消息。 最好的方法是使用XMPP協議。 您可以在下面找到示例 Simple messaging application using XMPP

+0

謝謝!這是否意味着即使android應用程序不活動,它將需要保持持續連接打開?這會消耗電池壽命嗎? – codeshark

+1

GCM爲您維護XMPP連接,因此在Android上您不必擔心維護連接或其對電池壽命的影響。 https://developers.google.com/cloud-messaging/ccs –

相關問題