简短的问题:如何构造PHP中多个推送通知的传递?具体来说,我如何将多个推送通知消息“打包”到一个fwrite()调用中?
我可以继续向$apnsMessage字符串追加更多的消息/有效负载吗?:
// [connect to service]
// Packing the payload (for a single message)
$apnsMessage = chr(0) . chr(0) . chr(32);
$apnsMessage .= pack('H*', str_replace(' ', '', $recipientToken));
$apnsMessage .= chr(0) . chr(strlen($payload)) . $payload;
// Write the payload to the APNS
fwrite($apns, $apnsMessage);
// [close connection to service]
长篇版本:
因为Apple需要应用程序批量处理推送通知(尽量减少与apns的几个连续连接),所以我试图在PHP中构建一些可以完成任务的东西(而不使用php-Apple& memcache)。因为我能找到的99%的资源都是关于单个推送通知的,所以我希望能在这里找到一些指导。我只是将每条消息添加到mysql表(队列)中,然后每隔x分钟迭代一次,并发送所有未发送的消息。
有人有任何例子/链接可以帮助这种方法吗?
提前谢谢。
发布于 2011-07-08 15:00:38
是的,您可以简单地追加消息。二进制协议格式特别需要严格的消息长度,因此可以区分一条消息和另一条消息。理想情况下,你会整天把一个长二进制字符串推到苹果的服务器上。
批处理并不理想,您通常希望将其实现为守护进程,该守护进程保持与an服务器的打开连接,并根据需要向连接写入新消息。
https://stackoverflow.com/questions/6631378
复制相似问题