這是我在一週前詢問的一個問題的編輯。C2DM「應用程序服務器」選項
我正在開發一個Android應用程序,它可以與用戶的家用PC進行通信,以控制PC上運行的某些第三方PVR軟件。該模型如下...
Android應用 < - 無線/ 3G - >Windows服務 < - 本地主機 - >第三方軟件PVR
Windows服務是由我(C#.NET)編寫的,充當Android應用程序和PVR軟件之間的代理。
我想要做的是使用C2DM通知用戶各種各樣的事情 - 例如,如果一個家庭成員設置電視節目進行錄製,則將C2DM消息發送給其他家庭成員的設備,以便每個人都可以至今。
我現在似乎有3種可能的選擇如何繼續。 Windows服務是系統中的關鍵角色,因此它們都參與其中,但我不知道最佳方法是什麼。
使用Windows服務的C2DM第三方的應用服務器。下行 - 我需要將我的C2DM證書嵌入到軟件中,全球將有100多臺服務器要求認證令牌(不確定Google是否允許)。
我有一個託管的Web服務器,我可以使用它允許PHP/MySQL。 Windows Server只是作爲一箇中繼,但我的PHP經驗很少,而且我找不到任何有關C2DM的全面的PHP示例。
使用Google App Engine(再次將Windows服務作爲中繼)。問題是我不知道Google是否對GAE被用作C2DM應用服務器感到滿意,儘管我已經看到了一些提及的內容。
我已經基本Google'd,直到我的頭痛,並繼續回到相同的教程和部分代碼示例。我知道C2DM是如何工作的,並且實際上有我的開發環境中的選項1,但它似乎不是一個公開的好選擇。所以(試圖儘量保持我的問題儘可能客觀)...工作的原則是選項1不是一個好主意,是否有任何C2DM應用服務器的合理全面的PHP示例,或者,沒有人知道如果GAE是一種可接受的方法嗎?
謝謝 - 我明白'正常'模型是有一個基於雲的應用程序服務器,但我沒有一個可以輕鬆設置的模型。我有一個網絡服務器作爲我自己的域名託管的一部分,但我感覺我需要做一些像PHP這樣的速成課程來使用它。 – Squonk
是的使用它你必須有一個「本地」數據庫,用於註冊每個設備的密鑰和一些http請求來發送消息。起初有點令人困惑,但是您可以從您自己的基礎架構進行操作。 C2DM只是推送消息。 C#可以正常工作,我認爲 – weakwire
更新了我的答案 – weakwire