2016-09-21 6 views
0

Я пишу приложение для ионных приложений и пытаюсь заставить Push Notifications работать.Push Notifications to Ionic app using GCM

Я использую плагин phonegap-plugin-push для этого.

На мероприятии «$ ionicPlatform.ready» Я получаю устройство маркера

var push = PushNotification.init({ 
    android: { 
    senderID: "36112019308" 
    } 
}); 

push.on('registration', function(data) { 
    window.localStorage.setItem('tkn', data.registrationId); 
}); 

хорошо, здесь я получить регистрационный идентификатор. Теперь, когда я пытаюсь выполнить действия, описанные here с завитком командой, как следующий

curl --header "Authorization: key={KEY_GOT_ON_GOOGLE_CONSOLE}" --header "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"THE_REGISTRATION_ID_GOT_ON_DEVICE"]}" 

Я получаю ошибку:

{"multicast_id":4787366485826638756,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]} 

Ну, я уверен, что ключ и регистрационный код правильно, потому что если я изменить ключ я получаю несанкционированной ошибки, и если изменить регистрационный номер я получаю InvalidRegistration ошибка

Что может быть, что я поступаю неправильно?

Доп информация

  • Тестирование с помощью отладочных
+0

Вы отметили это сообщение: http://stackoverflow.com/a/36492797/2549619? – e666

ответ

0

Я получил его. Сообщение об ошибке действительно вводило в заблуждение.

Полный маркер возвращается после регистрации было что-то вроде этого:

dWWt-ohQFWg:APA91bFBgEU1aRyykLCw2lNat57WSePvbXyiLcCoHh6Tt6dkzXs5HUNl8C4wDL-BgaBrzJJc0lHH8IGQ3zACcfyQEdQmpKTJWOWshWKIH0e_RByg5zkhX0AlvFL4_0DLMzd_Hz1YKZ1g 

По какой-то причине я использовал только то, что пришли после «:», и в этом случае ошибка была MismatchSenderId. Я был убежден, что регистрация прошла нормально, потому что, если я что-то изменил на строке, она вернулась InvalidRegistration. Но на самом деле должна использоваться вся строка, включая часть перед «:»