簡體   English   中英

更簡單的推送通知,也許問服務器是否有?

[英]Simpler push-notification, perhaps ask server if there is any?

我在一個可以作為管理員向所有客戶(移動設備)發送通知的設備上工作。 我一直在搜索並找到GCM和其他服務...我想知道是否有任何更簡單的解決方案。

我考慮過每隔1個小時從所有客戶端(移動設備)向我的服務器打個電話,以檢查是否有新通知。 如果有,請獲取它們,然后在客戶端(移動設備)中顯示這些通知。

輪詢將導致更多的電池壽命消耗和一些其他不必要的過程(例如@MohammedAtif的注釋中也提到),例如,當客戶端應用程序調用服務器但最終為空時。 由於沒有真正發生任何事情,因此浪費了該過程。

GCM不會這樣做。 要參考它的流程官方文檔

生命周期流

  • 發送和接收下游消息。
    • 發送一個消息。 應用服務器將消息發送到客戶端應用:
      1. 應用服務器將消息發送到GCM連接服務器。
      2. 如果設備離線,則GCM連接服務器排隊並存儲消息。
      3. 設備在線時,GCM連接服務器會將消息發送到設備。
      4. 在設備上,客戶端應用程序根據特定於平台的實現接收消息。 有關詳細信息,請參見特定於平台的文檔。
    • 收到一條消息。 客戶端應用收到來自GCM連接服務器的消息。

GCM的繼任者也在最近的I / O 2016中宣布,現在是Firebase Cloud Messaging ,它不僅具有推送通知服務,而且還具有其他免費功能(例如Analytics(分析))。

因此,總的來說,使用GCM(或FCM)是比輪詢更簡單的方法。 它處理您發送的消息和其他消息的排隊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM