Я не совсем уверен, как интерпретировать эти предложения в Документация клиента GCM:
Разрешение android.permission.WAKE_LOCK, чтобы приложение могло удерживать процессор от сна при получении сообщения. Необязательно использовать, только если приложение хочет, чтобы устройство не спало.
.
Если вы не выполняете блокировку во время работы при переходе на работу к службе, вы фактически позволяете устройству снова заснуть до завершения работы. Конечным результатом является то, что приложение не может завершить обработку сообщения GCM до некоторой произвольной точки в будущем, что не является тем, что вы хотите.
и
Использование WakefulBroadcastReceiver не является обязательным требованием. Если у вас относительно простое приложение, которое не требует услуги, вы можете перехватить сообщение GCM в обычном BroadcastReceiver и выполнить свою обработку там.
Я не совсем уверен, что мое приложение должно содержать wakelock или нет (или если для этого требуется услуга). Часть уведомлений Push Notation очень важна для приложения, и ее нельзя откладывать более нескольких минут. Есть ли вероятность, что BroadcastReceiver будет заблокирован до получения всех данных?