Je suivais ce tutoriel pour mettre en place une notifications push >>http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12Impossible de recevoir les notifications push
Cependant, les notifications push ne viennent pas à mon téléphone. Le téléphone s'enregistre avec succès. Le fournisseur se connecte aux API avec succès et envoie le message au périphérique enregistré. Pourtant, aucune notification n'a de chance.
Essayé de suivre le tutoriel une deuxième fois depuis le début et toujours le même résultat.
À la troisième fois que je testé mes fichiers ck.pem comme celui-ci
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert ck.pem -debug
et a obtenu ce retour. Nous avons cherché pendant un certain temps à résoudre ce problème, mais rien n'a été fait pour résoudre ce problème. Je ne sais pas si c'est la raison pour laquelle le téléphone ne parvient pas à recevoir les messages, mais cela pourrait être le cas. Quelqu'un sait comment puis-je résoudre cela? Ou peut-être d'autres choses à vérifier? J'ai fait le tutoriel étape par étape pour la troisième fois, et je ne sais pas quoi chercher. APNS ne renvoie aucun statut d'erreur après l'envoi du message.
Code d'affichage du fournisseur en php >>
<?php
$deviceToken = 'c8964c75e5d404f029e2d599d094a2114d219bdb95750ae6501d6f0ce6a3c3b4';
$passphrase = 'DEADFFFF';
$message = 'Check';
////////////////////////////////////////////////////////////////////////////////
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
// Open a connection to the APNS server
$fp = stream_socket_client(
'ssl://gateway.sandbox.push.apple.com:2195', $err,
$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
if (!$fp)
exit("Failed to connect: $err $errstr" . PHP_EOL);
echo 'Connected to APNS' . PHP_EOL;
// Create the payload body
$body['aps'] = array(
'alert' => $message,
'sound' => 'default'
);
// Encode the payload as JSON
$payload = json_encode($body);
// Build the binary notification
$msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;
// Send it to the server
$result = fwrite($fp, $msg, strlen($msg));
if (!$result)
echo 'Message not delivered' . PHP_EOL;
else
echo 'Message successfully delivered' . PHP_EOL;
fclose($fp);
application est en mode débogage, certificat de serveur est également pour le développement L'exécution du code donne un message livré avec succès.
Le profil d'approvisionnement est correct. Essayé de cette façon, mais toujours le même résultat. Chose la plus étrange est que le fournisseur se connecte au message de sents APNS avec succès (pas d'état d'erreur en arrière d'APNS). Cependant, l'appareil ne reçoit pas la notification, même s'il s'est enregistré avec succès pour les notifications. – Datenshi