Требуется руководство по отправке push-уведомлений для iOS с использованием собственных APN/GCM в приложении Cordova.

Я использую 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.
Любая помощь будет высоко оценена.


person Charitha Goonewardena    schedule 08.06.2016    source источник


Ответы (1)


Я проверил на указанном веб-сайте: http://www.pushwatch.com/apns/. Он работает правильно.

Вы не получаете push-уведомление из-за неправильного push-сертификата.

Если вы не получаете токен устройства, вы можете предположить, что сертификат создан неправильно.

С уважением...

- Суровый Шах

person Harsh Shah    schedule 10.06.2016
comment
Спасибо за ответ =) я новичок в iOS и не уверен, правильно ли я выполнил шаги. Я получил токен устройства. Что вы думаете ? Может у меня проблема с сертификатом? - person Charitha Goonewardena; 10.06.2016