Intereting Posts
Средство просмотра иерархии не вычисляет Measure, Layout, Draw и показывает недоступно Поделиться счетом на Facebook android Значение по умолчанию для Gradle buildConfigField boolean используется во всех вариантах HashMap для ListView Невозможно ввести встроенный терминал Android Studio Как захватить пользовательский размер изображения с помощью камеры в Android? Сортировка списка с адаптером массива Android Не удалось установить HelloWorld.apk на устройстве (null) Ошибка Ошибка: не удалось запустить сборку с использованием установки Gradle 'C: \ Program Files \ Android \ Android Studio1 \ gradle \ gradle-2.2.1' Настройка пользовательского заголовка ActionBar из фрагмента Как установить размер предварительного просмотра камеры в квадрат в квадрате SurfaceView (например, Instagram) Версия API Android программно Не удалось удалить старое действие javaCompile, возможно, имя класса изменилось Способ хранения большого словаря с низким объемом памяти + быстрый поиск (на Android) Есть ли способ включить полосы прокрутки для RecyclerView в коде?

Почему я получаю «MismatchSenderId» со стороны сервера GCM?

Я пытаюсь создать услугу push для моего приложения для Android, и я следую документации и примеру Google GCM по этому вопросу:

Я могу зарегистрировать / отменить регистрацию моего приложения для Android. С моей стороны на сервере я вижу, что у меня зарегистрирована одна подписка, но когда я пытаюсь отправить сообщение с сервера на свое приложение для Android, я всегда получаю следующую ошибку:

Ошибка отправки сообщения на устройство # 0: MismatchSenderId

Для моего Android-приложения я использую SENDER_ID = 200000000001.

И для моей серверной стороны, когда Google говорит, что я использую API_KEY = AIzxxxxxxxxxxxxxxxxXxxXxxXxxxXXXXXxxxxs

Я следовал этому документу:

http://developer.android.com/guide/google/gcm/demo.html

Я также включил GCM в панель API Google, но я получу это раздражающее сообщение об ошибке.

Как я могу исправить эту проблему?

Solutions Collecting From Web of "Почему я получаю «MismatchSenderId» со стороны сервера GCM?"

Ваш сервер использовал новый идентификатор регистрации, возвращенный сервером GCM, в ваше приложение? У меня возникла эта проблема, если вы пытаетесь отправить сообщение на регистрационные идентификаторы, выданные старым сервером C2DM.

А также дважды проверьте идентификатор отправителя и API_KEY, они должны совпадать или вы получите эту ошибку MismatchSenderId. В консоли API Google просмотрите URL-адрес вашего проекта:

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

Xxxxxxxxx – это идентификатор проекта, который является идентификатором отправителя.

И убедитесь, что API-ключ принадлежит «Ключ для серверных приложений (с блокировкой IP-адресов)»

Несоответствие происходит, если вы не используете числовой идентификатор. ИД проекта НЕ ИДЕНТИВНЫЙ ИДЕНТИФИКАЦИЯ !! Мне потребовалось 9 часов, чтобы понять это. Для всей путаницы, созданной Google, проверьте следующую ссылку, чтобы получить числовой идентификатор.

https://console.cloud.google.com

вместо

https://console.developers.google.com

Надеюсь, поможет!!

Обновление: – Все изменилось. Теперь идентификатор отправителя с firebase.

Перейдите на страницу https://console.firebase.google.com и выберите свой проект. В настройках -> облачные сообщения вы можете найти идентификатор отправителя.

И это работает!

Пожалуйста, запустите сценарий под терминалом

 curl -X POST \ -H "Authorization: key= write here api_key" \ -H "Content-Type: application/json" \ -d '{ "registration_ids": [ "write here reg_id generated by gcm" ], "data": { "message": "Manual push notification from Rajkumar" }, "priority": "high" }' \ https://android.googleapis.com/gcm/send 

Он выдаст сообщение, если оно выполнено успешно или не выполнено

Недавно я столкнулся с той же проблемой, и я попробовал разные значения для «gcm_sender_id» на основе идентификатора проекта. Однако значение «gcm_sender_id» должно быть установлено на «Номер проекта».

Вы можете найти это значение в: Меню> IAM и Admin> Настройки.

Смотрите скриншот: GCM Project Number

Вашему приложению Android нужно исправить 12-значный идентификатор номера (aka GCM Project Number). Если этот 12-значный номер неверен, вы также получите эту ошибку.

Этот 12-значный номер найден в вашей консоли Google Play в вашем конкретном приложении, «Сервис и API» -> «LINKED SENDER IDS»,

Используйте идентификатор и идентификатор отправителя, созданный здесь: http://developers.google.com вместо этого (сначала выполните навигацию по облачным службам Google и следуйте инструкциям).

Если вы используете собственный Android, проверьте файл AndroidMaifest.xml :

 <meta-data android:name="onesignal_google_project_number" android:value="str:1234567890" /> <!-- its is correct. --> 

вместо

  <meta-data android:name="onesignal_google_project_number" android:value="@string/google_project_number" /> 

Надеюсь, поможет!!

 InstanceID.getInstance(getApplicationContext()).getToken(authorizedEntity,scope) 

AuthorizedEntity – номер проекта сервера