推送通知发送到apple apns服务器但设备未收到任何内容

时间:2016-06-29 03:50:32

标签: ios phonegap-plugins apns-php

开发环境:

iOS 9.3.2(iPh6ne 6+)......但它适用于iOS 8.x

Phonegap 6.2.7

Phonegap-plugin-push v1.7.2

PHP7(服务器端) - contentpush - ref

我的情况:

  1. 令牌已自动发送到我的服务器

  2. 消息已成功发送至ssl://gateway.push.apple.com 2195

  3. 设备中没有收到任何警报("")

    push.on(' notification',function(data){     的console.log(data.message);     警报("&#34);     alert(data.title +"消息:" + data.message); });

2 个答案:

答案 0 :(得分:10)

Apple并未对成功传递邮件提供任何保证。 you can see related answer here

如果您在连接到网络时未看到Apple推送通知,请与网络管理员联系,确保可以访问相关的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代表接入点名称,即蜂窝数据网络和互联网之间的网关。

check this link for same explanation

并检查How do I troubleshoot issues with Push Notifications on iOS?

答案 1 :(得分:3)

总而言之。我现在发现了问题。我想分享我开发apns应用程序的经验。

服务器侧

确保

  1. 正确创建您的pem文件(生产)

  2. 正确输入您的passphase

  3. 在您的应用上传到App Store之前,网址应为ssl://gateway.sandbox.push.apple.com 2195。 (这是我的问题)

  4. 应用侧

    1. 确保您已在Xcode中启用推送通知按钮和背景通知

    2. 在Xcode7中启用bitcode应为“No”。