Я использую push-уведомление плагин в своем приложении Cordova. Я смог получить уведомление для Android с помощью GCM, и это было довольно просто. Теперь iOS, которая для меня большая боль с воскресенья, почти 4 дня. Я поделюсь тем, что я сделал до сих пор. Пожалуйста, помогите мне, чтобы уведомление работало и на устройствах iOS.
Судя по плагину, на стороне приложения мой java-скрипт выглядит так
myApp.controller('Register', function ($scope) {
$scope.regGCM = function () {
document.addEventListener('deviceready', onDeviceReady, false);
}
function onDeviceReady() {
var push = PushNotification.init({
"android": {
"senderID": "41502493944",
"sound": "true",
"vibrate": "true",
},
"ios": {
"alert": "true",
"badge": "true",
"sound": "true",
},
"windows": {}
});
push.on('registration', function (data) {
var deviceid = data.registrationId;
alert(deviceid);
});
push.on('notification', function (data) {
console.log("notification");
});
push.on('error', function (e) {
console.log("push error");
});
}
});
Когда regGCM()
запускает устройство iOS, запрашивающее разрешение на разрешение push-уведомлений для моего приложения, и оно returns a token
.
Затем, чтобы протестировать push-уведомление онлайн, я использовал этот сайт, для которого требуются наши файлы token
и .pem
.
Чтобы создать файл .pem
, я сделал следующее.
1) Создан сертификат p.notification здесь.
2) Установлен что в цепочке ключей Mac.
3) Экспорт установленного сертификата в виде файла pushcert.p12
.
4) Выполнение этой команды (openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts
) в терминале я получил файл pushcert.pem
.
На этом сайте онлайн-тестирования говорится, что сообщение отправлено, но я так и не получил уведомление на свое устройство iOS. Я новичок в push-уведомлениях и не знаю правильных шагов, возможно, что-то упустил. Кто-нибудь как разобрался с iOS p.notification в Cordova. Я не возражаю против того, как это сделать, будь то использование GCM или собственных APN.
Любая помощь будет высоко оценена.