Я работаю над push-уведомлениями с помощью Google Cloud Messaging (GCM). Я могу настроить сервер и клиентскую сторону после this tutorial.Подключение к серверу GCM, запущенному на локальном сервере
Сервер работает на Apache Tomcat6.0 (localhost) и эмуляторе Android в API Google (уровень API 17). У меня есть идентификатор отправителя и ключ API. При запуске из эмулятора я получаю сообщение об успешном подключении устройства. После этого после отправки сообщения с сервера отображается следующая ошибка.
com.google.android.gcm.server.InvalidRequestException: HTTP Status Code: 401()
com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:211)
com.google.android.gcm.server.Sender.send(Sender.java:125)
com.google.android.gcm.demo.server.SendAllMessagesServlet.doPost(SendAllMessagesServlet.java:83)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Из других сообщений я понимаю, что неправильный ключ API является виновником. Но в моем случае я убедился, что использую правильный вариант из консоли API.
Кстати, когда я запускал эмулятор, я видел сообщение «отправка regId на сервер». Что такое идентификатор регистрации? Это не то же самое, что и идентификатор отправителя; выглядит как закодированный.
Любой прорыв?
EDIT
вопрос окончательно решен! Ant не правильно создавал WAR-файл. Поэтому ключ API вряд ли обновляется. Это был кошмар, чтобы обнаружить ошибку. Спасибо всем за вклад!
Эмулятор не работает. Пользуйтесь с устройством –
любыми ограничениями на уровне API-устройств.? – Renjith
Его работа выше 2.2 –