Я реализовал пару месяцев назад обновленную подписку на приложение в двух моих приложениях. Я сохранил старые квитанции своих пользователей и связался с Apple с моего сервера в конце периода подписки, чтобы проверить, продолжает ли подписка. Я заметил, что некоторые из моих пользователей автоматически обновляются из клиентского кода. Мое приложение после звонков [[SKPaymentQueue defaultQueue] addTransactionObserver:myObserver]
и когда возвращается SKPaymentTransactionStatePurchased
или SKPaymentTransactionStateRestored
, он вызывает мой сервер, чтобы проверить квитанцию и предоставить моим пользователям подписку.В App Purchase Subscription Auto Renewal
Я пытался в течение некоторого времени понять логику уведомления о транзакции, которое клиент получает в конце периода продления. Кто-нибудь знает, почему только некоторые пользователи получают уведомления, а остальные требуют, чтобы сервер пересмотрел свои квитанции? Я попытался подумать, может быть, это связано с призывом к addTransactionObserver. Возможно, эти пользователи убили приложение, когда оно было в фоновом режиме, и снова вошли в приложение после окончания периода подписки, из-за которого был запущен addTransactionObserver: и чтобы оно было отправлено. Если я могу получить всех своих пользователей для получения этого уведомления, мне больше не нужно будет запускать вызовы сервера в конце периода подписки, поскольку они будут уволены из клиента, когда это необходимо.
Любое понимание поможет понять эту загадку.
Благодаря
Roi
Я никогда не видел 'SKPaymentTransactionStateRestored' срабатывает в' auto-renewable' subs в моем приложении :( –