我在我的科尔多瓦应用程序中使用推送通知插件。我能够使用 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 -clcerts
pushcert.pem
该在线测试网站说消息已发送,但我从未收到通知到我的 iOS 设备。我是推送通知的新手,不知道正确的步骤,可能会遗漏一些东西。有没有人在cordova中如何计算iOS p.notification。无论是使用 GCM 还是原生 APN,我都不介意这样做的方式。
任何帮助将非常感激。