tengo este script PHP:Enviar notificación de inserción de fichas para muchos dispositivos
$q = mysql_query("SELECT `token` FROM `tokens`");
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'apns.pem');
$fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
while($token = mysql_fetch_array($q))
{
$deviceToken = $token[0];
echo $deviceToken.": ";
$payload['aps'] = array('alert' => $message, 'sound' => 'Completed.wav');
$payload = json_encode($payload);
if (!$fp)
{
echo "Failed to connect {$err} {$errstrn}<br />";
}
else
{
echo "Connection OK<br />";
}
$msg = chr(0) . pack("n", 32) . pack('H*', $deviceToken) . pack("n", strlen($payload)) . $payload;
if (fwrite($fp, $msg, strlen($msg)) === FALSE)
{
echo "can't write to socket!<br />";
}
}
fclose($fp);
resultado para todo símbolo - Conexión correcta! ¡Pero la Notificación Push es recibida solo por un dispositivo! Probé el envío de mensajes diferentes, pero el resultado no cambió :(
wow !!! ideas! ?? –
Solo una idea (potencialmente estúpida): ¿la pasarela APN admite varias PN en una sola conexión? Quizás deberías intentar mover la abrir/cerrar secuencia dentro del ciclo. – mkilmanas
no, no funciona. pero encontré clase en el código de google, en esta clase implementé este ID único para mensajes, pero sobre identificación única en la documentación de Apple nada sobre esta identificación ... –