Apple: в подписке на покупку приложений и уведомлениях от сервера к серверу - PullRequest
0 голосов
/ 26 апреля 2020

У меня возникли проблемы с определением обновлений состояния сервера Apple на сервере для покупок внутри приложения:

Например - они говорят, что предоставляют следующие уведомления:

CANCEL

DID_CHANGE_RENEWAL_PREF

DID_CHANGE_RENEWAL_STATUS

DID_FAIL_TO_RENEW

DID_RECOVER

INITIAL_BUY

INTERACTIVE_RENEWAL

RENEWAL

Но по какой-то причине они не предоставляют применимую транзакцию, а вместо этого предоставляют «последние 100 квитанций». Вот документация - они также кажутся осуждающими поле , которое ранее предоставляло единственный соответствующий объект.

latest_receipt_info array

Массив, содержащий последние 100 транзакций покупки в приложении с декодированным значением в latest_receipt. Этот массив исключает транзакции для расходных материалов, которые ваше приложение пометило как завершенные. Содержимое этого массива идентично содержимому в responseBody.Latest_receipt_info в ответе конечной точки verifyReceipt для подтверждения получения.

Если я получаю уведомление со статусом - как я могу сопоставить, какой из последних 100 поступлений уведомление относится к?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020

Как утверждает Apple в подсказке об устаревании, используйте объект unified_receipt , чтобы получить latest_receipt и latest_receipt_info.

Обновите любой существующий код, чтобы использовать вместо него следующие объекты в unified_receipt.

unified_receipt содержит устаревшие объекты верхнего уровня.

0 голосов
/ 26 апреля 2020

Вы не должны полагаться на конкретную транзакцию. Эти уведомления привязаны не к транзакции, а к подписке. Вам следует прочитать больше статей о проверке квитанций App Store и уведомлений Apple.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...