2010-11-17 3 views
0

J'ai réussi à implémenter un serveur de notification push iPhone (PHP) l'année dernière; J'ai dû changer de serveur, et je pensais que déplacer des fichiers suffisait ... J'avais tort, car les notifications de modification ne sont plus envoyées. Il n'y a pas d'erreur, tout semble correct, mais les notifications ne sont pas reçues.Serveur de notification push iPhone: que faire après le changement du serveur?

Voici le code de mon serveur. quelqu'un peut penser à une cause, ou un moyen de trouver le problème? (notes: la variable $ deviceTokens est correcte, contient les jetons de périphérique, et j'ai testé avec succès mon certificat .pem avec une commande openssl).

$payload['aps'] = array('alert' => 'notification!!', 'sound' => 'push.aif'); 
    $payload = json_encode($payload); 

    $streamContext = stream_context_create(); 
    stream_context_set_option($streamContext, 'ssl', 'local_cert', 'libraries/ck_prod.pem'); 
    $apns = stream_socket_client('ssl://gateway.sandbox.push.apple.com:' . 2195, $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext); 

    if($error) { 
     log_message('error', $errorString); 
     return; 
    } 

    log_message('debug', 'sending push notification...'); 

    if($apns) { 
     foreach($deviceTokens as $deviceToken) { 
      $apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload; 
      fwrite($apns, $apnsMessage); 
     } 
     fclose($apns); 
    } else { 
     log_message('error', 'error while sending push notification'); 
    } 
+0

Je rencontre le même problème Je ne reçois ni erreur ni notifications push, je reçois une notification push si j'utilise les fichiers sur un autre serveur, mais si je l'utilise sur mon serveur, je ne reçois pas de notifications. Comment avez-vous résolu le problème – Anjani

Répondre

0

Bien bien ... Peut-être que je devrais avoir un avis que je contacte le serveur de test (passerelle. bac à sable .push.apple.com) ... Certains jours sont tout simplement difficiles ...

Questions connexes