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)

введите описание изображения здесь

Ответ 8

Мы потратили часы, пытаясь понять это. Проблема заключалась в том, что наш манифест android не включал идентификатор отправителя!

Ответ 9

используемый вами SENDER_ID - это не что иное, как ключ авторизации. вы можете найти SENDER_ID в своих проектах URL-адрес страницы API-интерфейсов API Google

https://code.google.com/apis/console/#project:8543162367

здесь 8543162367 будет вашим SENDER_ID, а также Идентификатор проекта больше не является числовым его буквенно-цифровым или только цифровым или единственным алфавитным, но его положение такое же, как показано мной.