Собственно недавно задался вопросом, а чем лучше Push уведомления при условии, если есть сервер, который держит соединение? Я так понимаю что что принцип один и тот же, но при этом пару раз применяя декомпиляцию для популярных приложений, я обнаруживал что все они работают с GCM.
В андроиде весит сервис, который соединятся с сервером и получает пуши. В случае же если каждый держал постоянное соединение, то это отрицательно сказывалось бы на производительности и заряде. Если вам необходимо (не для пушей) держать постоянное подключение, то используйте его(как я понял vk так работает), если же не надо то используйте gcm.
Что-то немного не понял. Если в Андроиде висит сервис, то чем он отличается от того же XMPP, который держит соединение? По другому он никак не будет работать.
Mikhail_dev: система не держит постоянное соединение с GCM. Она время от времени устанавливает подключение. И делает это гораздо энергоэффективней чем сделаете вы сами.
FoxInSox: возможно. Но я всё равно не понимаю каким образом андроид моментально уведомляет о новых уведомлениях посредством пушей. Thunderbird, gmail, viber, whatsapp и прочие, они моментально мне сообщают о новом. Как они могут это делать без НЕпостоянного соединения?