При тестировании моей подписки в приложении я обнаружил, что можно получить latest_receipt
. Когда дело доходит до запуска приложения в режиме релиза в App Store, все новые пользователи приложения находят исключение в строке кода:
let latestReceipt = responseTransaction.object(forKey: "latest_receipt") as! String
Скажите, пожалуйста, в документации IAP, что возможносостояние этого поля latest_receipt
? а получается пустые или нулевые ответы?
Когда я использую песочницу, она часто выдает:
{
"latest_receipt": "MIIbngYJKoZIhvcNAQcCoIIbj...",
"status": 0,
"receipt": {
"download_id": 0,
"receipt_creation_date_ms": "1486371475000",
"application_version": "2",
"app_item_id": 0,
"receipt_creation_date": "2017-02-06 08:57:55 Etc/GMT",
"original_purchase_date": "2013-08-01 07:00:00 Etc/GMT",
"request_date_pst": "2017-02-06 04:41:09 America/Los_Angeles",
"original_application_version": "1.0",
"original_purchase_date_pst": "2013-08-01 00:00:00 America/Los_Angeles",
"request_date_ms": "1486384869996",
"bundle_id": "com.yourcompany.yourapp",
"request_date": "2017-02-06 12:41:09 Etc/GMT",
"original_purchase_date_ms": "1375340400000",
"in_app": [{
"purchase_date_ms": "1486371474000",
"web_order_line_item_id": "1000000034281189",
"original_purchase_date_ms": "1486371475000",
"original_purchase_date": "2017-02-06 08:57:55 Etc/GMT",
"expires_date_pst": "2017-02-06 01:00:54 America/Los_Angeles",
"original_purchase_date_pst": "2017-02-06 00:57:55 America/Los_Angeles",
"purchase_date_pst": "2017-02-06 00:57:54 America/Los_Angeles",
"expires_date_ms": "1486371654000",
"expires_date": "2017-02-06 09:00:54 Etc/GMT",
"original_transaction_id": "1000000271014363",
"purchase_date": "2017-02-06 08:57:54 Etc/GMT",
"quantity": "1",
"is_trial_period": "false",
"product_id": "com.yourcompany.yourapp",
"transaction_id": "1000000271014363"
}],
"version_external_identifier": 0,
"receipt_creation_date_pst": "2017-02-06 00:57:55 America/Los_Angeles",
"adam_id": 0,
"receipt_type": "ProductionSandbox"
},
При запуске в производство она дает что-то вроде:
{'environment': 'Production',
'receipt': {'adam_id': 1465637208,
'app_item_id': 1465637208,
'application_version': '33',
'bundle_id': 'gogoyuedu.testing.anc',
'download_id': 7505071111117518,
'in_app': [],
'original_application_version': '31',
'original_purchase_date': '2019-09-30 05:16:04 Etc/GMT',
'original_purchase_date_ms': '1569820564000',
'original_purchase_date_pst': '2019-09-29 22:16:04 '
'America/Los_Angeles',
'receipt_creation_date': '2019-10-02 08:49:40 Etc/GMT',
'receipt_creation_date_ms': '1570006180000',
'receipt_creation_date_pst': '2019-10-02 01:49:40 '
'America/Los_Angeles',
'receipt_type': 'Production',
'request_date': '2019-10-02 08:49:47 Etc/GMT',
'request_date_ms': '1570006187285',
'request_date_pst': '2019-10-02 01:49:47 America/Los_Angeles',
'version_external_identifier': 832979108},
'status': 0}
При моем быстром методе я долженполучить запись покупок под атрибутом in_app
вместо latest_receipt_info
?
Если так, как я могу получить свою последнюю квитанцию в поле in_app
?