Когда использовать restoreCompletedTransactions для покупок в приложении?

Для базового приложения с непотребляемыми покупками в приложении кто-нибудь нашел лучшие практики использования SKPaymentQueuerestoreCompletedTransactions?

наблюдения

Я знаю, что рекомендуется всегда регистрировать наблюдателя транзакций для получения ожидающих транзакций, которые возвращаются в приложение, но это другой вопрос. Это выглядит какrestoreCompletedTransactions это то, что приложение должно активно решать, когда звонить на опрос для всех покупок, которые уже сделал клиент.

Из того, что я могу сказать, метод предназначен для получения покупок, которые могли быть потеряны. Например, клиент может установить или переместить приложение на новое устройство таким образом, чтобы локальные записи приложения о предыдущих платежах были потеряны или сброшены.

Обеспокоенность

Что мне не ясно, так это то, как автоматически определять это состояние (то есть, как решить, когда проводить опрос о пропущенных покупках) надежным способом. Я не хочу облажаться и рискнуть лишить клиента доступа к функциональности, за которую он уже заплатил.

В то же время я не хочу звонитьrestoreCompletedTransactions каждый раз, когда приложение запускается просто для обеспечения безопасности и возврата транзакций, я знаю об этом уже в 99,9% случаев. (За исключением покупки в приложении, мое приложение не требует подключения к сети.)

Примечания

В документации Apple разъясняется, что с клиентов не взимается плата за любые непотребляемые покупки, которые они уже сделали. Если они пытаются повторно купить, платежная транзакция все еще предположительно отправляется в приложение.

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

Ответы на вопрос(3)

Ваш ответ на вопрос