我正在尝试为网站实施新的Safari 推送通知服务。我一直在 github 上使用一个演示模板作为起点。
工作原理:Safari 正确提示启用来自主机站点的通知推送服务正确地将设备 ID 记录到 mysql,并根据需要将其删除。所以可以说最棘手的部分都可以。我已经检查了演示测试站点对我的工作是否完美。
我修改了演示代码以将数据推送到所有设备,而不是通过 id。再次,这似乎没问题。但是,触发推送通知不起作用。
我已经验证服务器能够与 APNS 服务器通信,
openssl s_client -connect gateway.push.apple.com:2195 -CAfile apns-cert.pem
其中 apns-cert.pem 是从我的 Apple 的 p12 文件转换而来的。
没有返回任何错误stream_socket_client
,我已经转储了发送的 json 数据的输出,看起来还可以:
"{"aps":{"alert":{"title":"Test notification","body":"This is a test push notification","action":"View"},"url-args":[""]}}"
额外的问题 我是否需要从创建推送包的同一服务器发送推送通知,或者只要我有证书和设备 ID,我可以从任何地方发送它吗?