Ionic V1: ошибка 404 при сохранении токенов уведомлений

129
9

Я ударяю головой о стену, потому что не могу понять, почему мои push-уведомления не работают.

Небольшой список версий:

$ cordova plugin info
cordova-plugin-console 1.0.5 "Console"
cordova-plugin-device 1.1.4 "Device"
cordova-plugin-splashscreen 4.0.1 "Splashscreen"
cordova-plugin-statusbar 2.2.1 "StatusBar"
cordova-plugin-whitelist 1.3.1 "Whitelist"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-push 1.8.4 "PushPlugin"

$ ionic info
Cordova CLI: 6.5.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Linux 4.4
Node Version: v5.12.0
Xcode version: Not installed

Вот код, который регистрируется для системы push:

// In config
$ionicCloudProvider.init({
core: {
app_id: "xxxx"
},
push: {
sender_id: "yyyyyy",
pluginConfig: {
ios: {
badge: true,
},
android: {
iconColor: "#343434"
}
}
}
});

// In controller
// Register Push notifications
$ionicPush.register().then(function (t) {
console.log('register successfull', t);
return $ionicPush.saveToken(t, {
ignore_user: true
});
}).then(function (t) {
console.log('Token saved:', t);
alert('Token saved:', t.token);
});

Я отлаживаю телефон USB android, с:

ionic run android

Затем я проверяю с помощью хромового инспектора устройства, чтобы узнать, что происходит. Дело в том, что появляется "register successfull" с "правильным" токеном

{
"token": "fWjLt4mOttw:APA91bE4KCycHlu92T6fJTzMFbRFtJdTUrb2u9jv5LTO2yTPD_-sKshbqo93UStwjdJpmLun2tJBCgegaUYnlj9kxxFWFPi9hobZH5W80OnrsPdfxrdYNmp8SYM_SXp-5RiknFrbPl5l",
"app_id": "XXXXXX"
}

Но метод saveToken выходит из строя с ошибкой 404. Когда я перепрограммирую запрос с curl в своей оболочке (щелкните правой кнопкой мыши> Копировать> как curl), у меня нет ошибок... Вот хром-консольный журнал:

POST https://api.ionic.io/push/tokens 404 (Not Found)
Ionic Push: Error: Not Found
at q.<anonymous> (app.js:formatted:717)
at q.t.emit (app.js:formatted:9164)
at XMLHttpRequest.n.onreadystatechange (app.js:formatted:9424)

Вот результат от curl (кажется правильным)

{
"meta": {
"status": 201,
"version": "2.0.0-beta.0",
"request_id": "92487e15-9f2a-416f-c15b-9129e9e10049"
},
"data": {
"token": "fWjLt4mOttw:APA91bE4KCycHlu92T6fJTzMFbRFtJdTUrb2u9jv5LTO2yTPD_-sKshbqo93UStwjdJpmLun2tJBCgegaUYnlj9kxxFWFPi9hobZH5W80OnrsPdfxrdYNmp8SYM_SXp-5RiknFrbPl5l",
"type": "android",
"invalidated": null,
"valid": true,
"created": "2017-03-07T16:43:58.993190+00:00",
"app_id": "f2de99a1",
"id": "c85e1bdbb6b3cf2da8f090ba59df6892"
}
}

Может ли кто-нибудь мне помочь? Благодаря !

спросил(а) 2021-01-19T19:32:51+03:00 2 месяца, 3 недели назад
1
Решение
106

Я решил проблему: мне пришлось изменить

<allow origin>

раздела config.xml. Ошибка 404 на самом деле была 403, но браузером было указано 404.

ответил(а) 2021-01-19T19:32:51+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема