2009-09-28 60 views
1

HI全部,使用PHP的iPhone反饋服務

有人能夠從iPhone APNS反饋服務使用PHP返回的二進制數據中提取設備令牌嗎?我在尋找類似的東西是什麼一直在使用此 http://www.google.com/codesearch/p?hl=en&sa=N&cd=2&ct=rc#m5eOMDWiKUs/APNSWrapper/init.py&q=feedback.push.apple.com

按照蘋果的文檔蟒蛇implementented,我知道,前4個字節的時間戳,接下來的2個字節是令牌的長度和其餘的字節是二進制格式的實際標記。 (http://developer.apple.com/IPhone/library/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingWIthAPS/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW3

我成功地從數據反饋服務返回中提取時間戳,但是我使用PHP的內置方法bin2hex()轉換爲十六進制後得到的設備令牌實際上與原始設備令牌不同。我在轉換中做了些傻事。如果他們已經使用PHP實施APNS反饋服務,任何人都可以幫助我嗎?

TIA, -Anish

回答

0

去這樣做的最好的地方其實是內部的蘋果開發者論壇對iPhone門戶網站 - 中有一堆不同語言的例子與這些推式請求工作。

我也是目前在360iDev推送會話,他們注意到一個開源的PHP服務器,可以發現:

http://code.google.com/p/php-apns/

+0

我之前檢查過這個php-apns項目。它不反對反饋服務:-(任何其他指針是非常讚賞。 謝謝, -Anish – Anish 2009-09-28 18:54:04

0

一旦你有你的二進制流,你可以處理它像這樣:

while ($data = fread($stream, 38)) { 
    $feedback = unpack("N1timestamp/n1length/H*devtoken", $data); 
    // Do something 
} 

$ feedback將是一個包含元素「timestamp」,「length」和「devtoken」的關聯數組。