Көптеген құрылғы белгілеріне Push Notification жіберіңіз

Менде бұл PHP сценарийі бар:

$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}
"; } else { echo "Connection OK
"; } $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!
"; } } fclose($fp);

барлық токен үшін нәтиже - Қосылым OK! Бірақ Push Notification тек бір құрылғы арқылы алынады! Әртүрлі хабарларды жіберіп көрдім, бірақ нәтиже өзгеріссіз қалды :(

7
Тек (әлеуетті ақылсыз) идея - APN шлюзі бірнеше қосылымдарға бір қосылымда қолдау көрсете ме? Мүмкін сіз цикл ішінде ағынның ашылуын/жабуын байқап көруіңіз мүмкін.
қосылды автор mkilmanas, көзі
Ілмек ішіндегі қосылымды ашу мен жабу менің жұмысымда жұмыс істеді.
қосылды автор Sergio Morstabilini, көзі
Сондай-ақ, мен үшін stream_socket_client және fclose
қосылды автор garanda, көзі
мұны кім шешті? маған db-да бір ғана құрылғы болғанда, мен бірдей мәселе туындаған кезде маған хабарласыңыз, бірақ хабарлауды жібере аламын
қосылды автор Ravi, көзі
Мәссаған!!! идеялар!??
қосылды автор Alexander Zakatnov, көзі
Жоқ, ол жұмыс істемейді. бірақ мен Google кодындағы сыныпты таптым, осы сыныпты енгізу әдісінде бұл бірегей идентификаторлар үшін хабарламалар, бірақ алма құжаттамасындағы бірегей идентификатор туралы осы id туралы ештеңе жоқ ...
қосылды автор Alexander Zakatnov, көзі

1 жауаптар

менің кодты көріңіз. Мен оны 4 құрылғымен сынамын.

Испан тіліндегі пікірлер туралы кешіріңіз.

    <?php
include("../conectar.php");

if (isset($_GET['msj']) and isset($_GET['cupon']) and $_GET['msj'] != '' and $_GET['cupon'] != '') {

    $msj = $_GET['msj'];
    $cupon = $_GET['cupon'];

    echo '

';
}else{
    echo 'error #2';
}
?>

Менің active_users DB-ге менің барлық белгілерім бар. Бұл көмектеседі деп сенемін

3
қосылды
Бұл код сұрақтың ішінен ерекшеленбейді (қосылым мен фильтрлерге қатысты)
қосылды автор jptsetung, көзі
біраз кеш ... бірақ бұл мен үшін жұмыс істейді
қосылды автор spankmaster79, көзі