В приложении Покупка Подписка Автообновление - PullRequest
1 голос
/ 04 марта 2012

Я реализовал пару месяцев назад подписку на приложение с автоматическим продлением в двух моих приложениях.Я сохранил старые квитанции моих пользователей и связался с Apple с моего сервера в конце периода подписки, чтобы проверить, активна ли подписка.Я заметил, что некоторые из моих пользователей автоматически обновляются из самого кода клиента.Мое приложение при входящих вызовах [[SKPaymentQueue defaultQueue] addTransactionObserver:myObserver] и при возврате либо SKPaymentTransactionStatePurchased, либо SKPaymentTransactionStateRestored вызывает мой сервер, чтобы проверить квитанцию ​​и дать моим пользователям подписку.

Я пытался довольно долгочтобы понять логику уведомления о транзакции клиент получает в конце периода продления.Кто-нибудь знает, почему только некоторые пользователи получают уведомления, а остальные требуют от сервера повторной проверки их квитанций?Я пытался подумать, может быть, это как-то связано с вызовом addTransactionObserver.Возможно, эти пользователи убили приложение, когда оно было в фоновом режиме, и снова вошли в приложение после того, как закончился период подписки, что вызвало запуск addTransactionObserver: и прибыло уведомление.Если бы я мог заставить всех своих пользователей получать это уведомление, мне больше не пришлось бы выполнять серверные вызовы в конце периода подписки, так как они будут отправляться с клиента при необходимости.

Любое понимание можетконечно помогите понять эту загадку.

Спасибо

Рой

1 Ответ

2 голосов
/ 07 марта 2012

По моему опыту, вам нужно будет периодически проверять квитанции на вашем сервере. Как и вы, я заметил, что эти новые квитанции отправляются в приложение непоследовательно. Я думаю, что Apple отправит квитанцию ​​клиенту, если ему случится только что запустить приложение в течение определенного периода времени после нового обновления.

...