2015-07-07 10 views
0

Следуйте указаниям в gcm quick start, я успешно сконфигурировал демо-версию GCM, и я могу получить push-сообщение с сервера (GcmSender.java). Из структуры проекта "приложения", я вижу 5 класс:Как клиент Android получит сообщение GCM?

MainActivity.java

MyGcmListenerService.java

MyInstanceIDListenerService.java

QuickstartPreferences. java

RegistrationIntentService.java

Но я не могу найти, где клиент построить TCP соединение с сервером GCM, поэтому я не понимаю, почему клиент может получить GCM сообщение ?

+2

GCM полагается на Службы Google Play. Google поддерживает постоянные подключения к устройствам через это, что живет в другом процессе на устройстве. Этот процесс получил push-сообщение и объединил его в нужное приложение. Следовательно, вашему приложению не нужно создавать какое-либо соединение. – Karakuri

ответ

0

Нам не нужно беспокоиться о TCP соединения, потому что обрабатываются GCM сервер, наш сервер приложений и сервисам Google Play

Мы получим от сообщения, потому что у нас есть BroadcastReceiver

Ниже объяснение

Push-уведомления позволяют вашему приложению уведомлять пользователя о новых сообщениях или событиях, даже если пользователь не активно использует ваше приложение. На устройствах Android, когда устройство получает push notification, значок вашего приложения и сообщение отображаются в строке состояния.

См. this tutorial for complete GCM tutorial

+0

Означает ли это, когда сервер GCM отправляет сообщение в мое приложение, сначала загружается служба воспроизведения Google, а затем отправляет широковещательную рассылку, чтобы мое приложение получало ее? – wqycsu

+0

да. Тогда ваш 'BrodcastReciver' поймает это, и вы сможете делать то, что вы хотите сделать в методе OnRecive –

+0

@wqycsu проголосуйте :) –

Смежные вопросы