我正在将推送通知从节点服务器发送到iPhone和Android。它已成功发送到APNS / GCM,并成功接收到移动设备的通知。但是,在iPhone 6中,推送通知在收到通知后才第一次收到。它发生在以下阶段:
提前致谢..
苹果在《本地和推送通知编程指南》和《对推送通知进行故障排除》中说
通知的传递是“尽力而为”,不能保证。它并非旨在将数据传递到您的应用程序,仅用于通知用户有可用的新数据。
更新:
问题在于,Apple无法处理消息时会关闭连接。因此,如下更新了节点推送通知server.js中的代码,它可以正常运行:
var connectCallback = function (err) {
// gracefully handle auth problems
if (err && err.name === 'GatewayAuthorizationError') {
console.log('Authentication Error: %s', err.message);
process.exit(1);
}
// handle any other err (not likely)
else if (err) {
throw err;
}
// it worked!
var env = agent.enabled('sandbox')
? 'sandbox'
: 'production';
console.log('apnagent [%s] gateway connected', env);
};
agent.connect(connectCallback);
setInterval(function(){
agent.close(function(param1){
agent.connect(connectCallback);
});
}, 20 * 60 * 1000);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句