पर पुश अधिसूचना भेज रहा है मैं php से ios तक पुश नोटिफिकेशन भेज रहा हूं।PHP: आईओएस
$passphrase = '';
$badge = 1;
$path = base_path('path/to/certificate.pem');
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', $path);
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
$fp = stream_socket_client(
'ssl://gateway.sandbox.push.apple.com:2195', $err,
$errstr, 60, STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT, $ctx
);
if (!$fp) {
self::SavePush($device_token, $message, $device_id, $device_type, $user_id, "pending", "normal", null);
}
//echo 'Connected to APNS' . PHP_EOL;
$body['aps'] = array(
'alert' => $message,
'badge' => $badge,
'sound' => 'default'
);
$payload = json_encode($body);
$msg = chr(0) . pack('n', 32) . pack('H*', $device_token) . pack('n', strlen($payload)) . $payload;
$result = fwrite($fp, $msg, strlen($msg));
//print_r($result);exit;
if (!$result) {
self::SavePush($device_token, $message, $device_id, $device_type, $user_id, "pending", "normal", null, $result);
} else {
self::SavePush($device_token, $message, $device_id, $device_type, $user_id, "sent", "normal", null, $result);
}
fclose($fp);
अब समस्या यह है कि मैं का सामना करना पड़ रहा है, मैं निर्धारित नहीं कर सकता है, तो एक अधिसूचना में विफल रहता है के रूप में $result
एक पूर्णांक हर मामले में, या तो, सफलता या विफलता होता है: यह ठीक काम कर रहा है और यहाँ है मेरी कोड है। मैंने टोकन के रूप में एक यादृच्छिक अंक पारित किया है और यह 115 या 65 की तरह पूर्णांक देता है और यह हर बार बदलता है। तो !$result
काम नहीं करेगा। अधिसूचना विफल होने पर मुझे कैसे पता चलेगा?
संभवतः इस एक https://stackoverflow.com/questions/25830597/how-to-know-push-notification-delivery-status – arunjos007