Как я могу отправить push-уведомление нескольким устройствам за один раз в iPhone?

Я хочу отправить те же сообщения всем устройствам, которые зарегистрированы в приложении, но как отправить их, не делая несколько подключений …

Мой текущий код PHP:

ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem'); $fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx); if (!$fp) { print "Failed to connect $err $errstr\n"; return; } $msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack("n",strlen($payload)) . $payload; fwrite($fp, $msg); 

Нижняя линия, вы не можете . Вам нужно отправить сообщение каждому токену.

Он не работает как электронная почта, где у вас может быть несколько получателей.

После того, как соединение открыто, вы можете отправить кучу сообщений, что также является предпочтительным способом (на основе SDK Apple).

из SDK:

http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingWIthAPS/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW2

Вы также должны сохранять соединения с APN через несколько уведомлений. APN могут рассматривать соединения, которые быстро и неоднократно устанавливаются и срываются как атака отказа в обслуживании. После ошибки APN закрывает соединение, в котором произошла ошибка.

Вы можете использовать одно соединение для отправки нескольких сообщений, поэтому вам не нужно открывать несколько подключений. Вы не можете использовать одно сообщение для нескольких устройств.