到目前为止,我无法注册设备令牌并创建推送通知有效负载,并将它们放入apns_messages队列,准备将它们发送到Apple的推送服务器 .

最后一步(发送给Apple)是我无法弄清楚的 .

所以我有一个包含2列的apns_messages表,| devicetoken |有效载荷|
例如,每行有以下内容:

devicetoken: 24wgh67as7q8h…
payload: {
    "aps": {
        "alert" : "You got your emails.",
        "badge" : 9,
        "sound" : "bingbong.aiff"
        }
    }

这个表保存了我想要发送给我的用户的推送通知,我希望每分钟在我的服务器上运行一个php 7脚本 .

根据Apple的文档,我必须与相应的APN Build 连接(例如 生产环境 服务器:api.push.apple.com:443) . 此外,连接必须使用我的提供者客户端证书进行身份验证,这是一个.pem文件,我有一个 .

来自Apple开发者网站:

管理连接的最佳实践:通过多个通知保持与APN的连接;不要反复打开和关闭连接 . APN将快速连接和断开视为拒绝服务攻击 . 您应该保持连接处于打开状态,除非您知道它将在一段时间内处于空闲状态 - 例如,如果您每天只向用户发送一次通知,则可以每天使用新连接 . 您可以与APN服务器 Build 多个连接 . 如果您需要发送大量远程通知,请将它们分散到多个不同网关的连接上 . 与使用单个连接相比,这可以提高性能,因为它可以让您更快地发送远程通知,并且它可以让APN更快地提供它们 . 您可以使用HTTP / 2 PING框架检查连接的运行状况 .

关于Apple的APN推送通知服务的更多细节here

In short:
在PHP 7中如何设置正确的连接?如果apns_messages队列中有通知,我如何将apns_messages表中的通知发送到Apple的推送服务器,并在完成时从apns_messages队列中删除通知 .
(我想每分钟运行一次这个脚本)