2013-03-06 78 views
1

我嘗試瞭解從iTunes服務器獲取的收據信息,但找不到相關文檔。iOS應用內購買的收據字符串解釋

特別是,什麼是中unique_identifier的差異,unique_vendor_identifieroriginal_transaction_id(這是聲稱,在WWDC'12會議,是事實上的客戶ID)和[[[UIDevice currentDevice] identifierForVendor] UUIDString]

{"receipt": 
    {"original_purchase_date_pst":"...",   
    "purchase_date_ms":"...", 
    "unique_identifier":"...", 
    "original_transaction_id":"...", 
    "bvrs":"...", 
    "transaction_id":"...", 
    "quantity":"...", 
    "unique_vendor_identifier":"...", 
    "item_id":"...", 
    "product_id":"...", 
    "purchase_date":"...", 
    "original_purchase_date":"...", 
    "purchase_date_pst":"...", 
    "bid":"...", 
    "original_purchase_date_ms":"..."}, 
"status":0}` 

我想這個收據信息存儲在我的服務器上跟蹤訂閱有效性。因此,最好知道我應該使用哪個ID作爲用戶身份的代理。

回答

3

您的軟件應該僅依賴Apple在文檔中描述的字段。他們可以隨時刪除unique_identifier或unique_vendor_identifier,更改其含義或更改其值,而無需告知您。

你應該效仿蘋果documentation關於使用蘋果的服務器之前,您的服務器傳送sbuscription內容到設備驗證認購收據。

+1

+1感謝您的建議。這很有道理。 (在接受你的答案之前,我會先徵求第二個意見) – 2013-03-06 19:05:45

+0

這很好。其他人可以按照你想要的方式去做,並且可以提供他們的建議,或者可以有更具體的建議。 – 2013-03-06 19:07:55

1

Verifying Store Receipts有一個很好的表,給出看起來可以依賴收據的領域。該具體方法確實依賴於與Apple服務器的連接。收貨字段的另一種描述(儘管不太易讀)在Receipt Fields