通过PHP推送到多个iOS设备

时间:2013-09-16 09:54:01

标签: php ios push

首先说好话 - 我的代码正在运作。但不幸的是,很多设备都推迟到了极其缓慢的状态。由于整个推送过程失败,当一个设备之前使用我的代码失败(连接是在循环外部进行)时,我在循环中接受了连接:

foreach ($deviceTokens as $token) {
  $fp = stream_socket_client($this->data['config']['push']['apnsAddress'], $err, $errstr, 60, STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT, $ctx);
  $msg = chr(0).pack('n', 32).pack('H*', $token).pack('n', strlen($payload)).$payload;
  $result = fwrite($fp, $msg);
  if (!$result) {
    $this->pushLog('devicetoken '.$token.' failed');
    $errors++;
  }
  fclose($fp);
}

除了为每个安装了应用的人创建新连接之外,没有其他方法可以推送到多个设备吗?此脚本的运行时只是目前很长的一种方式。

1 个答案:

答案 0 :(得分:0)

首先,我可能知道你想要在循环中推出多少设备?你拥有的代码应该适用于合理数量的令牌。服务器到苹果的连接速度有多快?另一种方法是使用第三方推送API。通常,它们提供扩展参数和选项,这肯定包括通过一次调用推送到多个设备。欢呼声。