2012-11-30 37 views
2

我想用PHP發送推送通知。APNS:如何在發送後獲取錯誤響應?

所以我設置了一些代碼來發送它們。它實際上運行良好,但現在我不得不做一些錯誤處理。

如果我例如向Apple發送無效令牌,然後發送一些有效令牌,Apple不會將消息推送到有效令牌的設備。

因此,如果有任何問題,我會在每次發送響應的有效負載後檢查流。

$test = fwrite($this->fp, $payload); 

if ($test != strlen($payload)) { 
    echo 'NOT ALL BYTES WRITTEN'; //This is just for debug 
} 

usleep(1000000); //Wait for Apple to respond. 

$error_hex = fread($this->fp, 6); 
if ($error_hex !== false && strlen($error_hex) == 6) { 
    $error = unpack('Ccommand/Cstatus_code/Nidentifier', $error_hex); 

    print_r($error); 
} else { 
    echo 'NO HEX ERROR'; 
} 

這總是輸出「NO HEX ERROR」,所以Apple沒有迴應出錯。

爲什麼這不起作用? 流阻止被禁用。

stream_set_blocking($this->fp, 0); 
+0

你找到一個解決辦法了嗎?即使用lalelu替換標記,我仍然沒有收到錯誤... –

回答

0

憑證無效,並不意味着它是「NO EXIST TOKEN」,這意味着該標記是在沙箱enviment,你送沙箱生產的令牌,會導致無效令牌

相關問題