微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP Apple增强通知

我一直在使用this excellent blog post尝试从我的服务器上运行Apple推送通知.连接似乎很好,我可以写它.但是,没有通知到达.为了尝试调试它,我想构建一个“增强通知”,这将使APNS服务器在断开连接之前返回错误代码.但是,我不确定如何使用PHP构造要发送到服务器的数据.

目前正在使用我正在使用的正常通知,根据教程帖子:

$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $devicetoken)) . chr(0) . chr(strlen($payload)) . $payload;

这将以以下格式创建请求:

但是,我需要以下格式的请求:

在哪里,根据文件

标识符 – 标识此通知的任意值.如果APN无法解释通知,则在错误响应数据包中返回相同的标识符.

到期 – 以秒(UTC)表示的固定UNIX纪元日期,用于标识通知何时不再有效且可以丢弃.到期值应按网络顺序(大端).如果到期值为正,则APN尝试至少传递一次通知.您可以指定零或小于零的值,以请求APN根本不存储通知.

任何有关修改上述代码以获得上述增强通知格式的帮助将非常感谢!

解决方法:

$apnsMessage = 
    // new: Command "1"
    chr(1)
    // new: Identifier "1111"
    . chr(1) . chr(1) . chr(1) . chr(1)
    // new: Expiry "tomorrow"
    . pack('N', time() + 86400)
    // old 
    . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $devicetoken)) . chr(0) . chr(strlen($payload)) . $payload;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐