我們的組織擁有一個Android應用和一個iOS應用。一臺服務器向Android和iOS設備發送推送通知
我們想要開始推送通知到這些應用程序。
Android有GCM。 蘋果有APNS。
但是我們想要創建一個可以在android和iOS上工作的API。
什麼是最簡單的方法來設置一個服務器,以便在一個推送通知需要發送,它確切地知道將消息發送給哪個服務器?
我們的組織擁有一個Android應用和一個iOS應用。一臺服務器向Android和iOS設備發送推送通知
我們想要開始推送通知到這些應用程序。
Android有GCM。 蘋果有APNS。
但是我們想要創建一個可以在android和iOS上工作的API。
什麼是最簡單的方法來設置一個服務器,以便在一個推送通知需要發送,它確切地知道將消息發送給哪個服務器?
作爲一個小的背景,這是一所大學設置有多個學院應用程序,以及遠程教育可能正在使用該服務。這是我們在組織中使用的方法。如果您查看APNS的工作方式,只需使用令牌標識向APNS服務發送Web呼叫即可使用它。 GCM非常接近相同類型的系統。基本上創建一個JSON包並將其發送到所需的服務。
這是我們用來創建此服務的步驟。
服務器管理員創建的服務器和數據庫,可以被稱爲是將收集來自Android和iOS設備的標記。當設備註冊時,我們也會發送它的設備類型。這是可能的,因爲我們只是將數據發送到已創建的數據庫。
從這裏我們再創建一對夫婦的發送數據做所需的服務是否是iOS或Android Python腳本的。這些腳本從數據庫收集適當的數據,並將打包的數據(JSON包)發送到APNS以獲取ios消息和GCM以獲取谷歌雲。
我們還創建了一個Web界面,使那些誰需要將消息發送到設備即可。
其餘的實施由您決定使用該服務的最佳方式。例如,何時檢查無效設備, 因爲我們計劃在多個應用程序中使用同一臺服務器,所以我們可以發送設備,令牌,應用程序或應用程序所需的任何其他類型,以將其與我們生成的其他設備區分開來每個想要使用該服務的應用程序都可以。我希望這可以幫助你,並告訴你如何做到這一點。
我使用一個名爲Parse的服務來執行我的通知,將其推送到Android和iOS。他們有很好的文檔和圖書館。你可以在這裏得到一些細節:https://parse.com/products/push
對於APNS,也許你可以考慮具有增強的消息支持PyAPNS這個分叉版本。
https://github.com/jimhorng/PyAPNs
這意味着它將趕上爲失敗消息錯誤響應和重新發送其通過APNS而失敗消息之間發送和接收錯誤響應丟棄該消息。
解決方案:
結果:在吞吐量1000 /秒
對於GCM,你可以考慮https://github.com/geeknam/python-gcm
對於一般的包裝,同時支持以上的移動服務提供商: https://github.com/Redth/PushSharp
有沒有辦法做到這一點,而無需使用第三方服務? – fallen
@像素緊縮是解析服務推免費?我提到了它的文檔。在那裏指出,免費帳戶,你有30請求/秒。你能解釋一下嗎? – Dig
解析推送服務在1.000.000個唯一收件人中是免費的。 https://www.parse.com/plans – Snsxn