iOS应用程序内购买';已解释用户的收据字符串

iOS应用程序内购买';已解释用户的收据字符串,ios,in-app-purchase,uniqueidentifier,receipt,Ios,In App Purchase,Uniqueidentifier,Receipt,我试图了解从iTunes服务器获得的收据信息,但找不到相关文档 特别是,unique\u identifier、unique\u vendor\u identifier、原始交易id(在WWDC的12次会话中被称为事实上的客户id)和[[UIDevice currentDevice]identifierForVendor]UUIDString]之间有什么区别 {"receipt": {"original_purchase_date_pst":"...", "pu

我试图了解从iTunes服务器获得的收据信息,但找不到相关文档

特别是,
unique\u identifier
unique\u vendor\u identifier
原始交易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作为用户身份的代理。

您的软件应该只依赖于苹果在其文档中描述的字段。他们可以删除unique_标识符或unique_vendor_标识符,更改其含义,或随时更改其值而不告诉您


在服务器将订阅内容传输到设备之前,您应该遵循苹果的要求,使用苹果的服务器验证订阅收据。

其中有一个很好的表格,提供了收据中似乎可以依赖的字段。这种特定的方法确实依赖于与苹果服务器的连接。收据字段的另一个描述(尽管可读性较差)在中。

+1感谢您的建议。这很有道理。(在接受你的回答之前,我会先征求第二个意见。)没关系。其他人可能会按照你想要的方式来做,并且可以提供他们的建议,或者可能会有更具体的建议。