Android GCM SENDER_ID, как его получить?
Я пытаюсь перейти на GCM
, и у меня есть проблема с SENDER_ID
, которую мне нужно предоставить. Я использую демонстрационный проект из Google. В этом проекте мне нужно, если я это хорошо понимаю, предоставить SENDER_ID
для приложения в файле CommonUtilities.java.
SENDER_ID, который я предоставил, - это ключ API, который я зарегистрировал на https://code.google.com/apis/console/ и имеет следующую форму: AIzaSyAxxxxxxx_xxxxxxxxxxxnoGZw
(всего 40 символов).
Используя эту строку как SENDER_ID
, я получаю сообщение "BroadcastReceiver mHandleMessageReceiver": От GCM: ошибка (INVALID_SENDER)..
Где ошибка? Строка, которую я предоставляю, это не SENDER_ID
?
Спасибо.
Ответы
Ответ 1
Нет, SENDER_ID - это идентификатор проекта, который вы зарегистрировали на консоли Google API, он должен содержать числовую строку. например в URI вашего браузера, вы должны увидеть это:
https://code.google.com/apis/console/#project:4815162342
Идентификатор отправителя - 4815162342
Обновленный ответ:
Google не обновил свои документы полностью. Вышеприведенный ответ старен и основан на этой документации, и кажется, что он все еще не обновлен.
В соответствии с обновленными документами Google кажется, что Номер проекта на Консоль API Google используется как ИДЕНТИФИКАТОР
Ответ 2
Я сделал для последней консоли API Google.
Как получить SenderId
:
Действия
- Откройте консоль Google api
- Создать проект
- Нажмите Значок меню левой стороны
- Нажмите платформа Google cloud
- Вы получили бы
SenderId
форму там
Справка:
![введите описание изображения здесь]()
Надеюсь, это поможет вам.
Ответ 3
Перейдите на страницу Консоли API Google. Выберите проект, который вы используете, из выпадающего меню слева. Выберите "Обзор", и теперь вы можете видеть вас project number
. Это SENDER_ID
вы должны использовать
Другой способ получить номер вашего проекта - получить значение "проект" с вашего URL-адреса. Ваш url должен быть таким: "https://code.google.com/apis/console/b/0/#project:886025556782". Здесь номер проекта - "886025556782". это число SENDER_ID
Ответ 4
Обновленный ответ от ноября 2014 года, ЕСЛИ ВЫ НЕ СОБИРАЕТСЯ ПРОЕКТА API.
Прежде всего, правильно, вы должны абсолютно пойти в Google Developers Console и найти проект, в котором включен GCM. При просмотре раздела "Обзор" (левая панель навигации) вы увидите идентификатор проекта и номер проекта, указанный справа. Идентификатор проекта не срабатывал для меня (что и привело меня сюда), но когда я попробовал номер проекта, я смог зарегистрировать своих клиентов правильно.
Примечание, что это отличается от того, как Google изменил, как они недавно назначают идентификаторы проектов. В октябре я сделал проект и получил весь цифровой идентификатор проекта, который, как я полагаю, будет работать нормально. Но тот, который я создал сегодня, получил двузначное число и номер id (например, Hamster-Party-420) и числовой номер проекта. URL-адрес моего проекта содержит Hamster-Party-420, а номер проекта отображается только на экране обзора.
Ответ 5
Еще один обновленный ответ с небольшим пояснением для запутанного (.. как и я). (с должным учетом @azgolfer, @PankajAndroid и @Adam)
1- Если вы создаете проект в https://console.developers.google.com, вы можете увидеть две вещи: "ИДЕНТИФИКАТОР ПРОЕКТА" и "НОМЕР ПРОЕКТА" в Обзор проекта. Идентификатор проекта больше не является числовым, а буквенным числом, например master-xxxxx-1234. Номер проекта - это 11-значное число , например 123456789100.
![project dashbaord]()
2- Даже когда вы проверяете ссылку на браузер, вы можете найти ее как:
https://console.developers.google.com/project/master-xxxxx-1234
Итак, master-xxxxx-1234 является идентификатором SENDER_ID (в некоторых местах называется PROJECT ID)? НЕТ.
Вы должны использовать номер проекта как идентификатор проекта в GCM.
3. Где вы можете перекрестно проверить, что идентификатор проекта используется как идентификатор проекта?
По API Dashbaord. (url: https://code.google.com/apis/console/b/0/?noredirect#project:12345678900 - где 12345678900 - ваш номер проекта на панели инструментов проекта.
![google api dashboard]()
РЕЗЮМЕ: Идентификатор проекта в панели инструментов проекта и панели управления API различны. Номер проекта в проекте dashbaord используется в качестве идентификатора проекта в панели управления API и идентификатора проекта в проекте dashbaord как имя проекта в панели управления API. Таким образом, номер проекта, показанный на панели инструментов проекта, когда мы создаем проект в консоли разработчика, используется как SENDER_ID в GCM.
Ответ 6
Перейдите в "Панель мониторинга" в последней версии консоли разработчика, щелкните стрелку раскрывающегося списка в разделе "Проект: Turtle Power", и вы можете увидеть номер проекта прямо там! Используйте это как ваш SENDER_ID
(поддельный проект, так что даже не попробуйте его = P)
![введите описание изображения здесь]()
Ответ 7
Возможно, вы не активировали Google Cloud Messaging для Android в API-интерфейсе API.
Вот инструкции:
http://developer.android.com/google/gcm/gs.html
Ответ 8
Мы потратили часы, пытаясь понять это. Проблема заключалась в том, что наш манифест android не включал идентификатор отправителя!
Ответ 9
используемый вами SENDER_ID - это не что иное, как ключ авторизации.
вы можете найти SENDER_ID в своих проектах URL-адрес страницы API-интерфейсов API Google
https://code.google.com/apis/console/#project:8543162367
здесь 8543162367 будет вашим SENDER_ID,
а также Идентификатор проекта больше не является числовым его буквенно-цифровым или только цифровым или единственным алфавитным, но его положение такое же, как показано мной.