2013-03-06 76 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