Что такое принцип работы этой системы? Клиент отправляет свой собственный IP-адрес Службе облачных сообщений Google (например, когда он переключает на собственный IP-адрес)? Так что это своего рода объединение?
Я добавляю изображение здесь, описывающее работу GCM.

Это шаг за шагом презентации. Вам нужно получить идентификатор регистрации push сначала, когда ваше приложение запускается. Поэтому, если у вас есть серверный сервер для отправки некоторого push-уведомления в ваше приложение, вам необходимо передать идентификатор регистрации на ваш серверный сервер. Поэтому, когда вам нужно отправить push-уведомление, ваш серверный сервер отправит push непосредственно в GCM с целевым идентификатором регистрации. GCM удаляет уведомление на своем устройстве, когда ваше устройство подключается к сети.
Так что это не всякий пул. Единственное, что нужно знать GCM, это идентификатор регистрации вашего устройства, когда он подключен к сети, и пытается связаться с GCM. Как только ваше устройство зарегистрировано, GCM отправляет push-уведомление с использованием этого идентификатора регистрации.
Как вы знаете, что Google Cloud Service сообщений «смотрит на» в содержания сообщения уведомления (созданном на сервере и посланного к клиенту)?
Этот вопрос мне не очень понятен. Насколько я понял, вы хотели знать, как GCM понимает, кому необходимо отправить push-уведомление, когда уведомление приходит с вашего сервера. Если это ваш вопрос, я думаю, что уже ответил в предыдущем разделе моего ответа.
GCM не должен заглядывать в ваш контент для уведомления о назначении push-уведомления. Как я уже говорил ранее, когда ваше приложение запускается, оно запрашивает идентификатор регистрации push из GCM, и когда он получает идентификатор регистрации, вам может потребоваться передать идентификатор регистрации, вызвав службу вашего бэкэнд-сервера. Затем сервер знает, кому он может отправить уведомление.
Итак, когда его время для отправки уведомления в клиентское приложение, серверный сервер отправляет уведомление в GCM с идентификатором регистрации, который вы отправили на ваш серверный сервер ранее. Затем GCM обрабатывает отправку push-уведомления клиенту, когда приложение подключается к сети.
Надеюсь, что это поможет!
«Откуда вы знаете, что Служба облачных сообщений Google» просматривает «содержимое сообщения уведомления», пожалуйста, уточните более –
Я бы послал данные в уведомлении: поэтому, когда клиент видит уведомление, он может принимать данные, без контакта с сервером. Является ли это возможным? Я уверен, что GCM Service не может «заглядывать» в это сообщение и нюхает данные? – PenguinEngineer
Конечно, это возможно. Когда клиент получает уведомление, он может легко считывать данные внутри него и может предпринимать необходимые действия без связи с сервером. В любом случае это идея push-уведомления. –