2014-11-21 52 views
0

我正在計劃開發一個android應用程序,它發送一個提醒,並設置一個對應於他/她的手機上安裝了該應用程序的其他人的電話上的鬧鐘。 現在提醒實際上是一組數據,其中包含日期/時間和該提醒的消息。 該應用程序將發送一個提醒包到服務器,然後服務器將重定向到目標用戶的電話上的消息。現在我明白這是雙向通信。 我學習了Google Cloud Messaging HTTP和XMPP(CCS)。 我很困惑哪種協議適用於像我這樣的應用程序。 任何幫助都很重視。用gcm開發一個android應用程序。

+0

XMPP非常出色,但帶有開銷。你必須有一個專用的服務器。據我所知,谷歌GCM只是一個轉發服務到您的服務器,而不是專門處理消息本身的服務器。你的數據包聽起來不會太大,所以一個簡單的JSON http數據包可以工作,但是你將如何解決它們?這就是XMPP更適合的原因。 – LokiSinclair 2014-11-21 13:10:30

+0

是的,我其實忘了提到這一點。事實上,我將使用專用服務器,並使用GCM作爲我的應用和服務器之間的中介。我們不能使用HTTP將數據包發送給指定的用戶嗎? – Sid 2014-11-21 13:28:30

+0

假設你有一個方法來解決數據包是的,我的意思是可能是一個持久連接到HTTP服務器,並只寫入套接字。但是XMPP減少了這方面所需的大部分工作。我最初選擇了內部構建的服務器,但幾乎立即意識到了這些限制。因此,最終實現了XMPP,而我從未回頭。 – LokiSinclair 2014-11-21 13:46:35

回答

0

將您的應用程序註冊到GCM,將結果令牌發送到服務器並使用用戶帳戶綁定它。您的應用程序將警報設置與警報的用戶一起發送給服務器。您的服務器查找目標用戶的GCM令牌,並將消息發送到該設備,即您的應用,告訴它從服務器更新其警報。然後您的目標應用可以例如使用AlarmManager註冊一個鬧鐘或任何適合您的目的的鬧鐘。