推送通知已发送到苹果 apns 服务器,但设备未收到任何信息
Push notifications delivered to apple apns server but device received nothing
开发环境:
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.com2195成功
设备甚至没有收到任何警报(“”)
push.on('notification', 函数(数据) {
console.log(data.message);
警报(””);
alert(data.title+" 消息:" +data.message);
});
Apple 不对成功发送消息提供任何保证。 you can see related answer here
如果您在连接到网络时没有看到 Apple 推送通知,请咨询您的网络管理员以确保可以访问相关的 TCP 端口。
要使用 Apple 推送通知服务 (APNs),您的 Mac 和 iOS 客户端需要与 Apple 服务器建立直接且持久的连接。
iOS 设备首先尝试使用蜂窝数据连接到 APN。如果设备无法通过蜂窝连接连接到 Apple 的服务器,它会尝试使用 Wi-Fi 连接。
如果您在防火墙后使用 Wi-Fi 或使用私人接入点名称 (APN) 获取蜂窝数据,您将需要直接、无代理地连接到这些端口上的 APNs 服务器:
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 服务器使用负载平衡,因此您的设备不会总是连接到相同的 public IP 地址来接收通知。最好在分配给 Apple 的整个 17.0.0.0/8 地址块上允许访问这些端口。
APNs 代表 Apple 推送通知服务。 APN 代表接入点名称,是蜂窝数据网络和互联网之间的网关。
check this link for same explanation
并检查 How do I troubleshoot issues with Push Notifications on iOS?
谢谢大家。我现在发现了问题。我想分享我开发apns应用程序的经验。
服务器端
确保
正确创建 pem 文件(生产)
正确输入密码
在您的应用上传到 App Store 之前,url 应该是 ssl://gateway.sandbox.push.apple.com 2195。 (这是我的问题)
应用端
请确保您已在Xcode
中打开推送通知按钮和后台通知
启用位码应该是"No" in Xcode7.
开发环境:
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.com2195成功
设备甚至没有收到任何警报(“”)
push.on('notification', 函数(数据) { console.log(data.message); 警报(””); alert(data.title+" 消息:" +data.message); });
Apple 不对成功发送消息提供任何保证。 you can see related answer here
如果您在连接到网络时没有看到 Apple 推送通知,请咨询您的网络管理员以确保可以访问相关的 TCP 端口。
要使用 Apple 推送通知服务 (APNs),您的 Mac 和 iOS 客户端需要与 Apple 服务器建立直接且持久的连接。
iOS 设备首先尝试使用蜂窝数据连接到 APN。如果设备无法通过蜂窝连接连接到 Apple 的服务器,它会尝试使用 Wi-Fi 连接。
如果您在防火墙后使用 Wi-Fi 或使用私人接入点名称 (APN) 获取蜂窝数据,您将需要直接、无代理地连接到这些端口上的 APNs 服务器:
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 服务器使用负载平衡,因此您的设备不会总是连接到相同的 public IP 地址来接收通知。最好在分配给 Apple 的整个 17.0.0.0/8 地址块上允许访问这些端口。
APNs 代表 Apple 推送通知服务。 APN 代表接入点名称,是蜂窝数据网络和互联网之间的网关。
check this link for same explanation
并检查 How do I troubleshoot issues with Push Notifications on iOS?
谢谢大家。我现在发现了问题。我想分享我开发apns应用程序的经验。
服务器端
确保
正确创建 pem 文件(生产)
正确输入密码
在您的应用上传到 App Store 之前,url 应该是 ssl://gateway.sandbox.push.apple.com 2195。 (这是我的问题)
应用端
请确保您已在Xcode
中打开推送通知按钮和后台通知
启用位码应该是"No" in Xcode7.