1

推送工作得很好,问题是反馈是空的。我需要删除已过期或无效状态的令牌。这是我写的测试代码,有问题吗?]

$ctx = stream_context_create(); 
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem'); 
$fp = stream_socket_client('ssl://feedback.sandbox.push.apple.com:2196', $error, $errorString, 60, STREAM_CLIENT_CONNECT, $ctx); 
if (!$fp) { 
  return; 
} 
while ($devcon = fread($fp,38)) { 
  $arr = unpack("H*", $devcon); 
  $rawhex = trim(implode("", $arr)); 
  $feedbackTime = hexdec(substr($rawhex, 0, 8)); 
  $feedbackDate = date('Y-m-d H:i', $feedbackTime); 
  $feedbackLen = hexdec(substr($rawhex, 8, 4)); 
  $feedbackDeviceToken = substr($rawhex, 12, 64); 
} 
fclose($fp);
4

1 回答 1

2

反馈服务并不总是返回数据。只有在需要报告失败的交付时,您才会获得数据。

请参阅此处的文档

不确定这是否属实,但我注意到反馈服务不适用于沙盒环境(至少我在使用沙盒检查时没有收到任何回复)

于 2013-05-16T10:03:20.757 回答