php 公众号队列推送,使用PHP 7将推送通知从队列发送到Apple的APNs服务器

本文指导如何在PHP7环境下解决设备令牌注册、推送通知创建与发送到Apple APNs服务器的问题,包括保持连接稳定、高效发送和队列管理。作者分享了保持连接打开、使用.pem证书及每分钟执行脚本的实现策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

到目前为止,我无法注册设备令牌并创建推送通知有效负载,并将它们放入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队列中删除通知 .

(我想每分钟运行一次这个脚本)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值