2016-01-14 2 views
0

Я поражен обновлением кошелька с обновлением, я использовал следующий код, ошибка, связанная с сервером.Обновление кошелька Passbook не удалось подключиться

Я пропустил любые учетные данные. Пожалуйста, помогите мне, исправьте эту проблему.

Я зарегистрировал свою сберегательную книжку и вернул pushtoken на сервер.

этот ключ, такой же, как сберегательная книга, сгенерирует ключ сертификата.

  $certifile = 'passbook/certificates/AppleWWDRCA.pem'; 
      $passphrase = 'xxxxxxxx'; 
      $trust =''; 
      $url = 'ssl://gateway.push.apple.com:2195'; 
      $ctx = stream_context_create(); 
      stream_context_set_option($ctx, 'ssl', 'local_cert', $certifile); 
      stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase); 
      $fp = stream_socket_client($url, $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; 
      $body['aps'] = array(
       'alert' => $message, 
       'sound' => 'default', 
       'pushToken'=>'xxxxxxxxxxxxxx', 
       'passTypeId'=>'xxxxxxxxx' 

      ); 

      $payload = json_encode($body); 

      $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload; 

      $result = fwrite($fp, $msg, strlen($msg)); 

     // Close the connection to the server 
       fclose($fp); 

Пожалуйста, помогите мне.


Подключено к серверу. Но у меня есть ошибка при отправке push notifictaion.

$body['aps'] = array(); 
$msg = chr(0) . pack('n', 32) . pack('H*', $pushToken) . pack('n', strlen($payload)) . $payload; 

if (!$result) 
      echo 'Message not delivered' . PHP_EOL; 
     else 
      echo 'Message successfully delivered' . PHP_EOL; 

Сообщение не доставлено: 10053.

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

, если пользователь изменяет дату бронирования. Мне нужно обновить динамическую дату и время бронирования для пользователя с помощью pushnotification.

любой, пожалуйста, помогите мне обновить мою сберегательную книжку.

ответ

0

проверьте здесь код PHP (первый ответ). Это работа для меня. PHP Apple Enhanced Push Notification read error response

Вы используете неправильную сертификацию. Вы должны сделать файл pem из своего сертификата прохождения (p12) путем экспорта из брелка.

Как сделать P12 и файл PEM из CER файла
1. переместить в папку сохранения
2. открытый терминал и перейдите в этот каталог
OpenSSL x509 -in-дер-информ aps_development.cer отъезда certificate.pem
OpenSSL PKCS12 -nocerts -in Certiticates.p12 отъезда p12Certificates.pem
[введите пароль для .p12 и пароль для .pem]
кошки certificate.pem p12Certificates.pem> apns_cert.pem