2011-11-25 108 views
2

如果用戶在其帳戶中沒有云到設備消息傳遞(C2DM),那麼C2DM不起作用?沒有谷歌帳戶的Android雲到設備消息傳遞

如果是這樣,我該如何在沒有Google帳戶的情況下推送通知?

+0

是的,你是對的。肯定有一些第三方庫可以在沒有C2DM的情況下提供推送通知功能。儘管如此,它會增加電池的消耗。 –

回答

14

的不同的技術來發送推送通知可以列出如下

  • Android雲端到OS2.2 +
  • 用於預OS2.2設備的其它技術設備通訊(C2DM)。

Cloud to Device Messaging(C2DM)OS2.2 +:Android平臺中使用的標準推送通知方法稱爲Android Cloud to Device Messaging(C2DM)。該服務提供了一種簡單,輕量級的機制,服務器可以使用該機制告訴應用直接與服務器聯繫,以獲取更新的數據。

C2DM允許向Android應用發送輕量級消息。消息傳遞服務不適用於通過消息發送大量用戶內容。相反,它應該用於告訴應用程序服務器上有新的警報,以便應用程序可以獲取它。

C2DM限制:

  • 消息大小限制爲1024個字節。
  • 谷歌限制發送者合計發送的消息的數量,和一個發送方發送到一個特定的設備
  • C2DM不進行關於遞送保證或消息
  • C2DM需要用戶設置的次序的消息數他們的Google帳戶在他們的移動設備上。
  • C2DM需要運行Android 2.2或更高版本的設備也有市場應用程序安裝

服務器應該是

  • 能夠使用HTTPS與C2DM服務器進行通信。能夠與我們的客戶進行溝通。
  • 能夠發起到C2DM服務器的HTTP請求。
  • 能夠根據需要處理請求和隊列數據。例如,它應該能夠執行指數回退。
  • 能夠存儲ClientLogin身份驗證令牌和客戶端註冊ID。 ClientLogin Auth令牌包含在發送消息的POST請求頭中。有關此主題的更多討論,請參閱ClientLogin for Installed Applications。服務器應該存儲令牌並有一個策略來定期刷新它。

預OS2的其他技術。2個設備:

  • 投票,而不是推
  • 短信
  • 持續TCP/IP
  • 第三方產品

投票,而不是推:Android應用程序可以定期輪詢來自後臺本地服務的新消息的服務器。您越頻繁地進行實時推送就越接近您。

  • Adv:易於實施。
  • Disadv:不是實時的。將殺死電池。

短信:Android應用可以在Android phone.So攔截短信,如果當有通知的服務器可以發送短信,android的應用程序可以接收短信,然後再檢查在服務器的新數據。

  • Adv:容易實施。完全實時更新。 Disadv:可能要付出高昂的代價。

愛立信實驗室提供託管服務,允許發送多達2000個SMS。

持續TCP/IP:android應用程序啓動一個長期大部分閒置的TCP/IP連接與服務器,並通過偶爾發送保持消息來維護它。只要服務器上有新的東西,它就會通過TCP連接向手機發送消息。

  • Adv:完全實時更新。
  • Disadv:很難在手機和服務器端實現可靠的服務。已知Android操作系統能夠在內存不足時終止服務,因此我們的通知服務很容易消失。我們的手機進入睡眠狀態後會發生什麼?想象一下,如果所有的應用程序使用相同的技術。將會有大量的開路連接將會耗盡電池。

第三方產品

  • 城市飛艇推:大缺點是,它要求用戶安裝的應用航空郵件到他們的設備。
  • 執事項目
  • xtify
  • pushdroid.org