Какова цель Google Cloud Messaging

Я читал о Google Cloud Messaging и, как разработчик, у меня вопрос "Для чего это нужно?" Кто-нибудь может привести пример того, для чего это можно использовать? Я не ищу исходный код. Вместо этого мне интересно, какие у людей есть идеи для его использования.

1 ответ

Решение

Из Документов Google:

Google Cloud Messaging для Android (GCM) - это сервис, который помогает разработчикам отправлять данные с серверов в свои приложения Android на устройствах Android. Это может быть легкое сообщение, сообщающее приложению Android, что с сервера должны быть получены новые данные (например, фильм, загруженный другом), или это может быть сообщение, содержащее до 4 КБ полезных данных (например, такие приложения, как мгновенные сообщения могут потреблять сообщения напрямую). Служба GCM обрабатывает все аспекты очереди сообщений и доставки в целевое приложение Android, работающее на целевом устройстве.

Довольно понятно, на самом деле. Это всего лишь механизм отправки небольших сообщений из внешнего / сетевого сервиса на телефонную трубку, чтобы приложение могло действовать. Это намного проще, чем реализовать полный пользовательский пакет, основанный на JSON или XML, с полностью закодированным протоколом. (Не сказать, что частое использование инструментов "с полки" представляет собой довольно элегантное решение!)

В прошлом я реализовывал простое приложение в стиле видеоподкаста; ничего удивительного - просто ожидание нового контента с сервера. В этом сценарии мне пришлось специально кодировать вещи так, чтобы приложение запрашивало сервер при запуске, а затем загружать видеофайлы. Очевидно, что альтернативой является то, что приложение запрашивает сервер каждые x минут или часов.

Теперь с помощью GCM я могу переписать это приложение и заставить сервер информировать приложение, не требуя, чтобы приложение инициировало действие. Естественно, на мобильном устройстве предпочтительнее, чем приложение подключается к серверу и запрашивает его несколько раз без реальной причины; также предпочтительно запускать приложение и ждать, пока оно запрашивает обновления с сервера.

Примеры в вышеприведенном абзаце являются очевидными приложениями, но с некоторым воображением их можно использовать для гораздо большего.

Я думаю, что главное помнить, это найти инструмент для этой цели, а не для цели инструмента! Если вам это нужно, оно есть, но не пытайтесь втиснуть его туда, где это не требуется!

Другие вопросы по тегам