Я создал работающее приложение C2DM, и в целом оно работает очень хорошо, и push-сообщения приходят быстро.Однако я нахожу это довольно регулярно, когда я впервые запускаю приложение или возвращаю его к фокусу, сообщения не приходят.
Они определенно отправляются успешно (я получаю 200 ответов), и формат сообщения, безусловно, правильный (отправка того же сообщения позже работает нормально).Сбой может длиться небольшое количество минут, а затем внезапно он снова начинает работать и последовательно работает после этого.
Однако даже после того, как он начал работать, старые сообщения, по-видимому, исчезли и никогда не приходят.Сообщения определенно не приходят - у меня есть обширная регистрация, которая выделяет любые приходящие сообщения C2DM.
Я полностью осознаю, что C2DM никогда не будет гарантировать доставку, поэтому я ожидаю, что некоторые сообщения не получатся, но по моему опыту,в некоторых случаях это просто не работает.Я, очевидно, хочу понять, если это не то, что я делаю неправильно в своем приложении или в самой службе C2DM.
Что может вызвать сбой доставки C2DM сообщений?Если сообщения не могут быть доставлены, почему сервер C2DM не пытается снова из своей очереди?Связано - получать новый регистрационный идентификатор только при первом запуске приложения или обновлять его каждый раз при запуске приложения?В настоящее время я делаю последнее (в Приложении, а не в Деятельности).