Điểm:0

Làm cách nào để định cấu hình các trường tiêu đề cho API nhà cung cấp APN mới?

lá cờ uz

Tôi đã cố gắng chuyển sang cái mới API nhà cung cấp APN.

Trước khi di chuyển, tôi thường sử dụng tập lệnh này để gửi thông báo đẩy thử nghiệm tới thiết bị thử nghiệm của mình.

<?php
// Đặt mã thông báo thiết bị của bạn ở đây (không có dấu cách):
$deviceToken = 'b5fa6af3eb6482ffa5d8551a0dcca76a780dcfc9662fbc7163a56d0973de8a9f';
// Đặt cụm mật khẩu của khóa riêng của bạn tại đây:
$passphrase = 'pushchat';
// Đặt thông báo cảnh báo của bạn ở đây:
$message = 'Xin chào!';
///////////////////////////////////////////////// //////////////////////////////
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
// Mở kết nối đến máy chủ APNS
$fp = stream_socket_client(
'ssl://api.sandbox.push.apple.com:443', $err,
$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
nếu (!$fp)
exit("Không kết nối được: $err $errstr". PHP_EOL);
echo 'Đã kết nối với APNS' . PHP_EOL;
// Tạo thân payload
$body['aps'] = mảng(
'cảnh báo' => $tin nhắn,
'âm thanh' => 'mặc định'
);
// Mã hóa payload dưới dạng JSON
$payload = json_encode($body);
// Xây dựng thông báo nhị phân
$msg = chr(0) . gói('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . tải trọng $;
// Gửi nó đến máy chủ
$result = fwrite($fp, $msg, strlen($msg));
nếu (!$kết quả)
echo 'Tin nhắn chưa được gửi' . PHP_EOL;
khác
echo 'Tin nhắn được gửi thành công' . PHP_EOL;
// Đóng kết nối đến máy chủ
fclose($fp);

Dựa theo Gửi yêu cầu thông báo tới APN, bây giờ có yêu cầu trường tiêu đề Thích phương phápcon đường.

Khi tôi sao chép và dán Tiêu đề từ Gửi yêu cầu thông báo tới APN phản hồi của thiết bị đầu cuối là Lỗi phân tích cú pháp PHP: lỗi cú pháp, mã thông báo không mong muốn ":" trong /Users/Desktop/thư mục đẩy đơn giản/simplepush.php trên dòng 6

<?php
TIÊU ĐỀ
- END_STREAM
+ END_HEADERS
:phương thức = BÀI ĐĂNG
: lược đồ = https
:path = /3/device/EXAMPLETOKEN
máy chủ = api.sandbox.push.apple.com
apns-id = eabae54-14a8-11e5-b60b-1697f925ec7b
apns-push-type = cảnh báo
apns-hết hạn = 0
ưu tiên apns = 10
DỮ LIỆU
+ END_STREAM
{ "aps" : { "alert" : "Xin chào" } }

// Đặt mã thông báo thiết bị của bạn ở đây (không có dấu cách):
$deviceToken = 'VÍ DỤ'; // Đặt cụm mật khẩu của khóa riêng của bạn tại đây:
$passphrase = 'pushchat';
// Đặt thông báo cảnh báo của bạn ở đây:
$message = 'Xin chào!';
///////////////////////////////////////////////// /////////////////. /////////////
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
// Mở kết nối đến máy chủ APNS
$fp = stream_socket_client(
'ssl://api.sandbox.push.apple.com:443', $err,
$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
nếu (!$fp)
exit("Không kết nối được: $err $errstr". PHP_EOL);
echo 'Đã kết nối với APNS' . PHP_EOL;
// Tạo thân payload
$body['aps'] = mảng(
'cảnh báo' => $tin nhắn,
'âm thanh' => 'mặc định'
);
// Mã hóa payload dưới dạng JSON
$payload = json_encode($body);
// Xây dựng thông báo nhị phân
$msg = chr(0) . gói('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . tải trọng $;
// Gửi nó đến máy chủ
$result = fwrite($fp, $msg, strlen($msg));
nếu (!$kết quả)
echo 'Tin nhắn chưa được gửi' . PHP_EOL;
khác
echo 'Tin nhắn được gửi thành công' . PHP_EOL;
// Đóng kết nối đến máy chủ
fclose($fp);

Cách chính xác để triển khai các trường tiêu đề này với tập lệnh này để nó có thể gửi thông báo đẩy thử nghiệm là gì?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.