0

Googleチャンネルを使用してサーバーから通知を送信しています。それは正常に動作していますが、デバッガウィンドウを開くと、私はサーバーに行くポーリング要求の多くを見ることができます。プッシュ通知はサーバー上で継続的なポーリングを引き起こしますか?

プッシュ通知の仕組みですか?はいの場合は、その使用は何ですか?

var token ="<%token%>";// This will creaete unique identifier(some id created by google api + ur key) 

    channel = new goog.appengine.Channel(token);  
     socket = channel.open();  

    socket.onopen = function() { 

    $('#messages').append('<p>Connected!</p>'); 

    }; 

ありがとうございます。

答えて

0

GCMはそうしません。それは流れのofficial docsを参照するつもりです。

ライフサイクルフロー

  • 下流メッセージを送受信します。
    • メッセージを送信します。アプリケーションサーバーからクライアントアプリケーションにメッセージが送信されます。
      1. アプリケーションサーバーからGCM接続サーバーにメッセージが送信されます。
      2. GCM接続サーバーは、デバイスがオフラインの場合にメッセージをエンキューして保存します。
      3. デバイスがオンラインの場合、GCM接続サーバーはデバイスにメッセージを送信します。
      4. デバイスでは、クライアントアプリケーションはプラットフォーム固有の実装に従ってメッセージを受信します。詳細については、プラットフォーム固有のマニュアルを参照してください。
    • メッセージを受信します。クライアントアプリケーションは、GCM接続サーバーからメッセージを受信します。また、最近のI/O 2016年に発表された

は、GCMの後継者は現在、プッシュ通知サービスを持っていないだけでFirebase Cloud Messaging、ですが、また自由のための(1例はAnalyticsをある)他の機能を備えています。

全体的に、GCM(またはFCM)を使用する方がポーリングよりも簡単な方法です。あなたが送信したメッセージや他のメッセージのキューイングを処理します。私の答えhere


パート。プッシュ通知を送信するときにPollingが理想的でない理由も含まれています。

関連する問題