Google Cloud Messaging для Android-библиотеки и Google Play Services
Текущая Документация Google GCM требует, чтобы вы установили Службы Google Play и использовали их для GCM (Google Cloud Messaging). Библиотека - 1,1 Мбайт, но мой текущий .apk вдвое меньше. Мое приложение предназначено для получения GCM и отображения некоторых данных на экране, поэтому мне не нужны API Карт Google Apps, логин G + и т.д. Также мне не нужно отвечать на сервер после получения GCM.
SDK Manager позволяет загружать и устанавливать автономные пакеты Google Cloud Messaging для Android. Это тот, который использовался перед Google I/O 2013, где были объявлены Службы Play.
Мой вопрос: в чем разница в производительности между GPS GCM и автономным GCM для Android? Мне действительно нужно переключиться на GPS? Является ли автономный GCM лишен? Могу ли я получать данные (до 4K) с автономным GCM?
Ответы
Ответ 1
Насколько я знаю, да, старый устарел (он говорит так здесь http://developer.android.com/reference/gcm-packages.html), но все же работает.
Я бы порекомендовал использовать версию Служебных Служб, тем не менее, так как это намного проще настроить и использовать, и если вам не нужен логин G + или еще что-то, что вам не нужно использовать. Да, ваш APK будет немного больше, но я думаю, что это того стоит.
Кроме того, любые новые функции или улучшения протокола, скорее всего, будут только для библиотеки Play Services, а не для старой.
Ответ 2
Старый GCM, хотя и устарел, все еще работает. И есть вероятность, что он будет работать еще некоторое время.
Лично я реализовал новый GCM с помощью игровых сервисов, и он, похоже, глючит, поскольку есть устройства, которые не смогли получить идентификатор регистрации и получили ошибку SERVICE_NOT_AVAILABLE. Поэтому после некоторых исследований я не смог найти решение для этого и вернулся к старому методу GCM, который использует GCMIntentService, и мне удалось вернуть идентификаторы регистрации.
Bottom Line: Кажется, вы можете использовать старый метод GCM в настоящее время.
Ответ 3
Вам не нужно беспокоиться об увеличении размера приложения при использовании GCM с помощью Play Services, пока вы используете Proguard.
Описание Клиентская библиотека служб Google Play упоминает
Клиентская библиотека имеет легкий след, если вы используете ProGuard как часть вашего процесса сборки, поэтому он не окажет негативного влияния на ваш размер файла приложения.
Я не сам измерил разницу в apk с двумя разными подходами. Будет обновлен, если я это сделаю.
Ответ 4
в новом методе GCM также используется GcmIntentService, где сохраняется конфигурация дескриптора для полученного сообщения и где я настроил метод sendNotification (msg)
Ответ 5
Проверьте устройство, чтобы убедиться, что он имеет APK сервисов Google Play. Если это не так, отобразите диалоговое окно, которое позволяет пользователям загружать APK из магазина Google Play или включать его в настройки системы устройства.
Он избавит вас от размера памяти проекта.