服务器端 Apple 推送通知

Posted

技术标签:

【中文标题】服务器端 Apple 推送通知【英文标题】:Server-side Apple Push Notification 【发布时间】:2016-05-26 16:39:53 【问题描述】:

ios 中实现推送通知时,我需要一点帮助。我正在使用斯威夫特。

我成功创建了推送证书和密钥 (.pem)。我能够检索到 deviceToken。而且我能够通过 APN Tester Free 应用程序向我的设备发送通知。所以,基本上推送通知在我的本地计算机上工作。

我找到了这个tutorial 并选择了 php 文件并将其与我的 .PEM 文件一起上传到服务器。但是当我尝试打开 sample.com/newspush.php 时,我得到 Service Unavailable。

我还尝试了其他教程(我不记得链接了)。但我得到:无法连接到 APNS 服务器。错误 = 连接超时

【问题讨论】:

【参考方案1】:

这是因为您的服务器不允许访问。在包含证书文件的文件夹上设置错误的权限。为包含 .pem 文件的文件夹授予 chmod 755 权限。这将解决您的问题。

或者可能是您的服务器关闭了 2195 端口。所以请确保端口打开。检查是否可以在您的服务器中运行此代码。

 telnet gateway.push.apple.com 2195

如果您的服务器出现问题,它将显示如下内容:-

Trying 17.172.233.36...
telnet: connect to address 17.172.233.36: Connection refused

那么你通过打开2195端口来解决这个问题

如果您的服务器已经打开了端口,它将显示:-

 -bash-3.2# telnet gateway.push.apple.com 2195

  Trying 17.149.38.141...
  Connected to gateway.push.apple.com (17.149.38.141).
  Escape character is '^]'.
  Connection closed by foreign host.

希望对您有所帮助!

【讨论】:

包含我的 .pem 的文件夹已经拥有 0755 权限。 然后打开2195端口:)

以上是关于服务器端 Apple 推送通知的主要内容,如果未能解决你的问题,请参考以下文章

过滤 Apple 推送通知

APNS Apple 推送通知服务未收到来自 Apple 的成功消息

Apple推送通知有时但并非总是有效

Apple 推送通知令牌

Apple 反馈服务和推送通知错误

接收推送通知的问题 -