Я пытаюсь получить самую последнюю информацию о квитанции на локальном устройстве, когда пользователь покупает элемент приложения. Моя проблема заключается в том, что я не могу понять, как получить последнюю квитанцию (которая должна быть получена с последней покупкой) из массива квитанций в поле last_receipt_info. Как-то все поля pruchase_date_ms во всей квитанции имеют одинаковое значение.Как найти самую последнюю квитанцию при покупке приложения с помощью получения стиля iOS 7
{
"expires_date" = "2014-07-09 20:32:10 Etc/GMT";
"expires_date_ms" = 1404937930000;
"expires_date_pst" = "2014-07-09 13:32:10 America/Los_Angeles";
"is_trial_period" = false;
"original_purchase_date" = "2014-07-09 20:27:10 Etc/GMT";
"original_purchase_date_ms" = 1404937630000;
"original_purchase_date_pst" = "2014-07-09 13:27:10 America/Los_Angeles";
"original_transaction_id" = 1000000116335839;
"product_id" = "product1";
"purchase_date" = "2014-10-13 10:28:39 Etc/GMT";
"purchase_date_ms" = 1413196119831;
"purchase_date_pst" = "2014-10-13 03:28:39 America/Los_Angeles";
quantity = 1;
"transaction_id" = 1000000116358850;
"web_order_line_item_id" = 1000000028383484;
},
{
"is_trial_period" = false;
"original_purchase_date" = "2014-09-15 13:34:17 Etc/GMT";
"original_purchase_date_ms" = 1410788057000;
"original_purchase_date_pst" = "2014-09-15 06:34:17 America/Los_Angeles";
"original_transaction_id" = 100000;
"product_id" = "product2";
"purchase_date" = "2014-10-13 10:28:39 Etc/GMT";
"purchase_date_ms" = 1413196119831;
"purchase_date_pst" = "2014-10-13 03:28:39 America/Los_Angeles";
quantity = 1;
"transaction_id" = 100000;
}
В приведенном выше примере, я на самом деле сделать пробную покупку для product2, но теперь я также есть чек на Product1 с теми же purchase_date_ms. Кто-нибудь знает почему?
Как вы получили квитанцию? Из пакета приложений? От восстановления? «Для транзакции, которая восстанавливает предыдущую транзакцию, дата покупки - это дата восстановления. Используйте« Дата первоначальной покупки », чтобы получить дату первоначальной транзакции» (https://developer.apple.com/library/ios/releasenotes/ Общие/ValidateAppStoreReceipt/главы/ReceiptFields.html). Я не помню 100%, но я думаю, что первоначальная дата покупки всегда является более безопасной ставкой. –
Я получаю квитанции после отправки на сервер apple для проверки цели. Я не понял, что в приведенном выше примере я купил продукт1 долгое время, прежде чем я купил продукт2, но в квитанциях оба продукта имеют тот же самый buy_date – Peacemoon
Можете ли вы пойти и использовать первоначальную дату покупки? –