1

我在我的科尔多瓦应用程序中使用推送通知插件。我能够使用 GCM 获得 Android 的通知,这非常容易。现在 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 设备请求允许我的应用程序和它的推送通知时returns a token

然后为了在线测试推送通知,我使用了这个需要我们和文件 的站点。为了创建一个文件,我做了以下事情。token.pem
.pem

1) 从这里创建了一个 p.notification 证书。
2)将其安装在mac钥匙串中。
3) 将安装的证书导出为pushcert.p12文件。4)在终端中
执行这个命令( )我得到了文件。openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcertspushcert.pem

该在线测试网站说消息已发送,但我从未收到通知到我的 iOS 设备。我是推送通知的新手,不知道正确的步骤,可能会遗漏一些东西。有没有人在cordova中如何计算iOS p.notification。无论是使用 GCM 还是原生 APN,我都不介意这样做的方式。
任何帮助将非常感激。

4

1 回答 1

1

我检查了提到的网站:http ://www.pushwatch.com/apns/ 。它工作正常。

由于推送证书不正确,您没有收到推送通知。

如果您没有获得设备令牌,那么您可以假设证书没有正确创建。

问候...

-苛刻的沙阿

于 2016-06-10T06:12:14.257 回答