Подтвердить что ты не робот

Что означает "восстановление покупок" в покупках In-App?

Я действительно не понимаю эту идею. Должен ли я предоставить кнопку восстановления для пользователя? Какой метод должен вызывать этот метод? Что будет делать восстановление?

4b9b3361

Ответ 1

Обычно вы восстанавливаете покупки с помощью этого кода:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

Он будет повторно выявлять -paymentQueue:updatedTransactions наблюдателя (ов) для купленных предметов. Это полезно для пользователей, которые переустанавливают приложение после удаления или устанавливают его на другое устройство.

Не все типы покупок в приложении могут быть восстановлены.

Ответ 2

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

для других типов продуктов он автоматически восстановит его.

Прочтите следующий текст, который очистит ваше понятие об этом:

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

Store Kit предоставляет встроенные функции для восстановления транзакций для не потребляемые товары, автоматические возобновляемые подписки и бесплатные Подписки. Чтобы восстановить транзакции, ваше приложение вызывает очереди платежей restoreCompletedTransactions. Очередь платежей отправляет запрос в App Store для восстановления транзакций. В return, App Store генерирует новую транзакцию восстановления для каждого транзакция, которая была ранее завершена. Операция восстановления объекты originalTransaction свойство хранит копию оригинала сделка. Ваше приложение обрабатывает транзакцию восстановления посредством извлечение исходной транзакции и ее использование для разблокировки приобретенный контент. После того, как Store Kit восстановит все предыдущие транзакций, он уведомляет наблюдателей очереди платежей, называя их paymentQueueRestoreCompletedTransactionsFinished: метод.

Если пользователь пытается приобрести восстановимый продукт (вместо используя реализованный интерфейс восстановления), приложение получает регулярная транзакция для этого элемента, а не транзакция восстановления. Однако пользователь не заряжается снова для этого продукта. Ваш приложение должно обрабатывать эти транзакции идентично первоначальная транзакция. Не возобновляемые подписки и расходные материалы продукты не восстанавливаются автоматически Store Kit. Non-возобновляя Однако подписки должны быть восстановлены. Чтобы восстановить эти продукты, вы должны записывать транзакции на своем собственном сервере, когда они купил и предоставил собственный механизм для восстановления этих транзакций к пользовательским устройствам

Ответ 3

Является ли это необязательной функцией.

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

Если вы предоставите механизм восстановления, тогда менеджер по закупкам увидит восстановленную транзакцию.

Если приложение должно отличать эти параметры, вам следует предоставить функциональные возможности для восстановления ранее приобретенных продуктов.