推送通知传递到苹果apns服务器,但设备收到什么
开发环境:
iOS 9.3.2(iPh6ne 6+)…但它适用于iOS 8.x
Phonegap 6.2.7
Phonegap-plugin-push v1.7.2
PHP7(服务器端) – contentpush – ref
我的情况:
-
令牌自动传递到我的服务器
-
消息已成功发送到ssl://gateway.push.apple.com 2195
-
设备甚至没有收到警报(“”)
push.on('notification',function(data){console.log(data.message); alert(“”); alert(data.title +“Message:”+ data.message);});
苹果公司不保证成功发送邮件。 你可以在这里看到相关的答案
如果在连接到networking时没有看到Apple推送通知,请与您的networkingpipe理员联系以确保可以访问相关的TCP端口。
要使用Apple推送通知服务(APN),您的Mac和iOS客户端需要与Apple服务器的直接持续连接。
iOS设备首先尝试使用蜂窝数据连接到APN。 如果设备无法通过蜂窝连接连接到Apple服务器,则会尝试使用Wi-Fi进行连接。
如果您在防火墙后面使用Wi-Fi或使用专用接入点名称(APN)作为蜂窝数据,则需要直接与这些端口上的APN服务器进行非代理连接:
TCP port 5223: For communicating with Apple Push Notification services (APNs) TCP port 2195: For sending notifications to APNs TCP port 2196: For the APNs feedback service TCP port 443: For a fallback on Wi-Fi only, when devices can't reach APNs on port 5223
APNs服务器使用负载平衡,所以您的设备不会总是连接到相同的公共IP地址的通知。 最好允许访问分配给Apple的整个17.0.0.0/8地址块上的这些端口。
APN代表Apple推送通知服务。 APN代表接入点名称,蜂窝数据networking和互联网之间的网关。
检查此链接相同的解释
并检查如何解决iOS上推送通知的问题?
Thx全部。 我现在发现了这个问题。 我想分享我开发apns应用程序的经验。
服务器端
确保
-
正确创build您的pem文件(生产)
-
正确input你的通行证
-
在您的应用上传到App Store之前,url应该是ssl://gateway.sandbox.push.apple.com。 (这是我的问题)
应用端
-
确保在Xcode中已经打开了推送通知button和后台通知
-
在Xcode7中启用位代码应该是“否”。