duccio / apns-php
苹果推送通知与反馈提供者
Requires
- php: >=5.3.0
- lib-openssl: *
This package is not auto-updated.
Last update: 2024-09-14 13:55:49 UTC
README
一套完整的 开源 PHP 类,用于与 iPhone、iPad 和 iPod Touch 的 苹果推送通知服务 进行交互。
新闻
- 2016年6月1日,首次实现 HTTP/2 协议,请下载 此包(请检查您的 PHP 版本是否内置了支持 HTTP2 的 CURL,并生成新的证书,您不能使用与二进制版本相同的证书:创建通用的推送通知客户端 SSL 证书)。
- 2015年9月29日,关于此 README.md 的一些统计信息,感谢 Badge Poser。
- 2015年5月12日,ApnsPHP 已转移到 github 上的 Immobiliare Labs 组织。
- 2015年5月7日,ApnsPHP 将默认有效载荷大小增加到 2048,并默认使用 TLS 协议而不是旧的 SSL。来自苹果的消息:https://developer.apple.com/news/?id=10222014a
- 2012年10月26日,项目源代码已迁移到 github。
- 2011年6月18日,请使用 ApnsPHP Google Group 进行帮助请求或讨论此项目。要报告问题,请使用 问题。谢谢!
- 2010年12月18日,完全支持 APNs 消息:消息体、本地化操作按钮、带参数替换的本地化消息和自定义启动图像。
- 2010年12月15日,提交了第一个版本的 Objective-C 示例项目,支持非运行、前台运行和后台运行应用程序状态。
- 2010年12月14日,增加了对多个自定义属性的支持。
- 2010年8月28日,增加了对新的 APNs 增强格式的支持,该格式解决了简单格式的一些问题:通知过期 和 错误响应。
- 2010年2月28日,ApnsPHP 源代码现在可用。
Packagist
https://packagist.org.cn/packages/duccio/apns-php
感谢 @jbender!
架构
- 自动加载系统,仅显式包含 Autoload.php,并且所有类都是在需要时加载。
- 消息类,用于构建通知有效载荷。
- 推送类,用于将一个或多个消息推送到苹果推送通知服务。
- 反馈类,用于查询苹果反馈服务以获取已损坏的设备令牌列表。
- 推送服务器类,用于创建一个包含一个或多个(分支)进程的推送服务器,这些进程从公共消息队列中读取。
- 日志类/接口,用于将日志记录到标准输出或用于自定义日志记录目的。
- Objective-C 示例项目支持非运行、前台运行和后台运行的应用程序状态。
类层次结构
详细信息
在 Apple Push 通知二进制协议中,没有关于推送至服务器的通知正确性的实时反馈。因此,每次写入服务器后,Push 类将等待“读取流”更改其状态(或至少 N 微秒);如果发生了这种情况,并且客户端套接字从服务器接收到了“文件结束”信号,则推送至服务器的通知已损坏,Apple 服务器已关闭连接,客户端需要重新连接以发送其他仍然在消息队列中的通知。
为了加快发送活动,可以使用 Push Server 类创建一个具有多个进程的 Push 通知服务器,这些进程读取一个公共消息队列并并行发送 Push 通知。
所有客户端-服务器活动均基于“发生错误,重试”模式,具有可自定义的超时时间、重试次数和重试间隔。
要求
PHP 5.3.0 或更高版本,并支持 OpenSSL、PCNTL、System V 共享内存和信号量。
./configure --with-openssl[=PATH] --enable-pcntl --enable-sysvshm --enable-sysvsem
如果您计划仅使用 Push 和 Feedback 提供者而不使用服务器部分,您只需要 OpenSSL(不需要 PCNTL、System V 共享内存或信号量)。
./configure --with-openssl[=PATH]
通常,OpenSSL 已内置在标准的 PHP Linux 发行版包中。随 Mac OS X Snow Leopard 一起提供的标准 PHP 5.3.0 即可正常工作。
请...
...如果您在 App Store 上发布了使用 ApnsPHP 的应用程序,请留言告知!谢谢 :-)