2012-09-06 102 views
3

最近我一直在挖掘android推送通知。我想,我瞭解整體架構和消息流。設備如何接收Android GCM推送通知?

我想它是這樣的:

[Own server] --> [GCM] --> [Device] --> [Application] 

該航線的唯一神祕的部分之間[GCM]和[設備]。

長話短說,什麼基礎架構用於將消息從[GCM]傳遞到[Device]?

我讀過一些地方,可能設備保持打開連接到GCM。如果是這種情況,什麼樣的連接打開?

+0

我認爲它使用[Gtalk連接](http://jon.oberheide.org/blog/2010/06/28/a-peek-inside-the-gtalkservice-connection)。不確定的ios,但黑莓推動作品就像短信 – nandeesh

+0

http://devblog.blackberry.com/2010/03/introducing-blackberry-push-services-to-developers/ – Signare

+2

在黑莓手機:'[自己的服務器] - > [推代理服務器網關(RIM BIS或企業BES)] - > [運營商無線網絡] - > [設備] - > [監聽應用]'。更多信息在這裏:http://docs.blackberry.com/en/developers/subcategories/?userType=21&category=Push+Service –

回答

2

關於CGM有很多關於Android Developers center的信息。 設備保持連接對CGM開放(我認爲是IP)。如果服務器和設備之間沒有連接,CGM將存儲傳入的消息以便稍後傳送它們。

iOS推送技術保持APNS(蘋果推送通知服務)和設備(參見:wiki)之間的IP連接打開。所以它可能與GCM相同。

+0

哦,是的,謝謝。 Wiki正是這樣說的。我只是想知道,這是什麼樣的IP連接?一些TCP Socket連接?我想,保持開放的連接可能會導致電池問題..? –

+0

我沒有找到關於CGM的任何信息,但對於APNS,我發現這個:http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingWIthAPS/CommunicatingWIthAPS.html#//apple_ref/DOC/UID/TP40008194-CH101-SW3。它似乎是使用二進制協議的流式TCP連接。 –

+1

GCM和APNS:XMPP – vPJ