Рейтинг:0

Как настроить поля заголовка для нового API провайдера APN?

флаг uz

Я пытался перейти на новый API провайдера APN.

До миграции я использовал этот скрипт для отправки тестовых push-уведомлений на мое тестовое устройство.

<?php
// Поместите токен вашего устройства здесь (без пробелов):
$deviceToken = 'b5fa6af3eb6482ffa5d8551a0dcca76a780dcfc9662fbc7163a56d0973de8a9f';
// Поместите парольную фразу вашего закрытого ключа здесь:
$passphrase = 'pushchat';
// Поместите свое предупреждающее сообщение здесь:
$message = 'Привет!';
////////////////////////////////////////////////// ///////////////////////////////
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'парольная фраза', $парольная фраза);
// Открываем соединение с APNS-сервером
$fp = stream_socket_client(
'ssl://api.sandbox.push.apple.com:443', $err,
$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
если (!$fp)
exit("Не удалось подключиться: $err $errstr". PHP_EOL);
echo "Подключено к APNS". PHP_EOL;
// Создаем тело полезной нагрузки
$body['aps'] = массив(
'предупреждение' => $сообщение,
'звук' => 'по умолчанию'
);
// Кодируем полезную нагрузку как JSON
$payload = json_encode($body);
// Создаем бинарное уведомление
$msg = chr(0) . пакет('n', 32) . пакет('H*', $deviceToken) . пакет('n', strlen($payload)) . $ полезная нагрузка;
// Отправляем на сервер
$result = fwrite($fp, $msg, strlen($msg));
если (!$результат)
эхо 'Сообщение не доставлено' . PHP_EOL;
еще
echo 'Сообщение успешно доставлено' . PHP_EOL;
// Закрываем соединение с сервером
fclose($fp);

Согласно с Отправка запросов на уведомление в APN, теперь требуются поля заголовка нравиться метод и дорожка.

Когда я копирую и вставляю заголовки из Отправка запросов на уведомление в APN ответ терминала Ошибка синтаксического анализа PHP: синтаксическая ошибка, неожиданный токен ":" в папке /Users/Desktop/simple push/simplepush.php в строке 6

<?php
ЗАГОЛОВКИ
- END_STREAM
+ END_HEADERS
:метод = ПОСТ
: схема = https
:path = /3/device/EXAMPLETOKEN
хост = api.sandbox.push.apple.com
apns-id = eabeae54-14a8-11e5-b60b-1697f925ec7b
apns-push-type = оповещение
срок действия apns = 0
apns-приоритет = 10
ДАННЫЕ
+ END_STREAM
{ "aps" : { "оповещение" : "Здравствуйте" } }

// Поместите токен вашего устройства здесь (без пробелов):
$deviceToken = 'EXAMPLETOKEN'; // Поместите парольную фразу вашего закрытого ключа здесь:
$passphrase = 'pushchat';
// Поместите свое предупреждающее сообщение здесь:
$message = 'Привет!';
////////////////////////////////////////////////// /////////////////. /////////////
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'парольная фраза', $парольная фраза);
// Открываем соединение с APNS-сервером
$fp = stream_socket_client(
'ssl://api.sandbox.push.apple.com:443', $err,
$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
если (!$fp)
exit("Не удалось подключиться: $err $errstr". PHP_EOL);
echo "Подключено к APNS". PHP_EOL;
// Создаем тело полезной нагрузки
$body['aps'] = массив(
'предупреждение' => $сообщение,
'звук' => 'по умолчанию'
);
// Кодируем полезную нагрузку как JSON
$payload = json_encode($body);
// Создаем бинарное уведомление
$msg = chr(0) . пакет('n', 32) . пакет('H*', $deviceToken) . пакет('n', strlen($payload)) . $ полезная нагрузка;
// Отправляем на сервер
$result = fwrite($fp, $msg, strlen($msg));
если (!$результат)
эхо 'Сообщение не доставлено' . PHP_EOL;
еще
echo 'Сообщение успешно доставлено' . PHP_EOL;
// Закрываем соединение с сервером
fclose($fp);

Как правильно реализовать эти поля заголовка с помощью этого скрипта, чтобы он мог отправлять тестовые push-уведомления?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.