我正在尝试根据original_purchase_date和/或original_transaction_id使用 iOS 商店收据来区分购买和重新下载。无论交易是新购买还是重新下载,商店收据总是返回一个新的original_purchase_date,它等于purchase_date值。
这是我收到的真实商店收据(这是对现有应用内购买的重新下载 - 因为我目前不得不依靠 UDID 跟踪来区分它们)
{
"product_id": "com.myproduct.id",
"original_purchase_date_ms": "1329825956382",
"purchase_date_ms": "1329825956382",
"original_purchase_date": "2012-02-21 12:05:56 Etc/GMT",
"purchase_date": "2012-02-21 12:05:56 Etc/GMT",
"bvrs": "1.0",
"original_purchase_date_pst": "2012-02-21 04:05:56 America/Los_Angeles",
"purchase_date_pst": "2012-02-21 04:05:56 America/Los_Angeles",
"original_transaction_id": "1000000028387131",
"transaction_id": "1000000028387131",
"item_id": "452671574",
"quantity": "1",
"bid": "com.mybundle.id"
}
无论我是使用沙盒 URL 并使用测试 iTunes 连接帐户进行测试,还是使用实时 URL 进行收据验证的实时购买,这些值始终相同:
original_purchase_date_ms == purchase_date_ms
original_purchase_date == purchase_date
original_purchase_date_pst == purchase_date_pst
original_transaction_id == transaction_id
我认为这些是您应该用来区分新购买和重新下载相同购买的区别,我错了吗?显然跟踪设备的UDID/制作应用程序GUID并跟踪它是一种方法,但不够准确(例如拥有多个设备的用户)
在这些值始终相同的情况下,还有其他人有这个问题吗?
非常感谢您对此的任何帮助!我已经用尽了所有其他路线,希望这里有人知道答案。