Tôi đang sử dụng this tutorial để tìm hiểu thông báo đẩy.Thông báo đẩy không nhận được trên iphone
<?php
// Put your device token here (without spaces):
$deviceToken = '1675ba8bb005740bb514222227f861c30230a81e6eed6bb6b8f353c57831341d';
// Put your private key's passphrase here:
$passphrase = '111134';
// Put your alert message here:
$message = 'My first push notification!';
////////////////////////////////////////////////////////////////////////////////
$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));
echo 'result =' . $result. PHP_EOL;
if (!$result)
echo 'Message not delivered' . PHP_EOL;
else
echo 'Message successfully delivered' . PHP_EOL;
// Close the connection to the server
fclose($fp);
Tôi cũng định cấu hình ứng dụng để thông báo đẩy. Sau khi cấu hình cho push tôi cũng tạo lại provisioning profiles, xóa một cái cũ, cài đặt profile mới. Tôi chạy ứng dụng nó cung cấp cho tôi id thiết bị và sau đó tôi kết nối cả sandbox máy chủ và sản xuất để gửi thông báo đẩy với hồ sơ push tương đối của họ nhưng tôi vẫn không thể nhận được thông báo đẩy trên thiết bị của tôi.
Tôi cũng cài đặt ipusher trên thiết bị của mình và kiểm tra thông báo đẩy. chúng đến từ ứng dụng đó.
Một điều lạ tôi nhận thấy là tôi thay đổi nhận dạng ứng dụng của tôi và sử dụng bất kỳ id ứng dụng khác thì thẻ thiết bị vẫn giống nhau
Bây giờ vấn đề của tôi là tôi không nhận được thông báo push trên điện thoại của tôi.
Sự cố không có trong tiểu sử của tôi. Có thể là lỗi là mã php mà tôi đang sử dụng bởi vì khi tôi sử dụng các apns dễ dàng trên máy chủ từ xa sau đó nó sẽ gửi thông báo đẩy. Thông báo nhận được thời gian từ 6 đến 7 giờ. Tôi nghĩ điều này là do sự cố mạng ở phía thiết bị của tôi. Nhưng bây giờ nó hoạt động tốt sau 2 ngày trên hồ sơ sản xuất. Bây giờ, thông báo không mất thời gian để phân phối trên thiết bị của tôi nhưng mất khoảng 30 giây đến 5 phút trên một số thiết bị.
Có thể còn một vấn đề nữa nếu bạn không nhận được thông báo đẩy trên thiết bị của mình từ các ứng dụng khác, bạn nên kiểm tra kết nối DNS của mình.
Đây là phần triển khai phía máy chủ về phần ứng dụng iphone. U có thể kiểm tra hướng dẫn này http://mobiforge.com/developing/story/programming-apple-push-notification-services http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part- 12 – iamsult
tôi theo dõi raywenderlich để thực hiện iphone. để nhận mã thông báo thiết bị –
Sự cố không có trong tiểu sử của tôi. Có thể là lỗi là mã php mà tôi đang sử dụng bởi vì khi tôi sử dụng các apns dễ dàng trên máy chủ từ xa sau đó nó sẽ gửi thông báo đẩy. Các thông báo nhận được thời gian là 6 đến 7 giờ. Tôi nghĩ điều này là do sự cố mạng ở phía thiết bị của tôi. Nhưng bây giờ nó hoạt động tốt sau 2 ngày trên hồ sơ sản xuất. Bây giờ, thông báo không mất thời gian để phân phối trên thiết bị của tôi nhưng mất khoảng 30 giây đến 5 phút trên một số thiết bị. –