0

Я использую канал Google, чтобы выполнить Push-уведомление с сервера. Он работает нормально, но когда я открываю окна отладчика, я вижу много запросов на опрос, которые идут на сервер.Вызывает ли push-уведомление непрерывный опрос на сервере?

Возможно ли, что работает push-уведомление? Если да, то в чем его польза?

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 о потоке.

Lifecycle Flow

  • Отправлять и получать вниз по течению сообщения.
    • Отправить сообщение. Сервер приложений отправляет сообщения в клиентское приложение:
      1. Сервер приложений отправляет сообщение серверам соединений GCM.
      2. Сервер соединения GCM помещает в очередь и сохраняет сообщение, если устройство находится в автономном режиме.
      3. Когда устройство подключено к сети, сервер соединения GCM отправляет сообщение на устройство.
      4. На устройстве клиентское приложение получает сообщение в соответствии с реализацией на платформе. Подробную информацию см. В документации для конкретной платформы.
    • Получите сообщение. Клиентское приложение получает сообщение с сервера соединения GCM.

Также объявлено в недавнем I/O 2016 года, преемник GCM сейчас находится Firebase Cloud Messaging, который не только имеет Notification Service принудительную, но также имеет и другие функции (один пример Analytics) бесплатно.

В целом, использование GCM (или FCM) является более простым методом, чем опрос. Он обрабатывает очередь сообщений, которые вы отправили, и некоторые другие.


Часть моего ответа here. Также включает идею, почему Polling не является идеальным при отправке push-уведомлений.