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

Могут ли автоматически возобновляемые подписки отправлять транзакции SKPaymentTransactionStatePurchased при их автоматическом продлении?

Отправляет ли AppStore транзакцию, когда она автоматически обновляет подписку на автоматическое возобновление? Если это так, можно надежно обнаружить приложение при следующем загрузке приложения, если оно будет установлено в качестве наблюдателя:

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];

Будет ли новая автоматически обновленная транзакция звонить:

-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

с транзакцией .transactionState == SKPaymentTransactionStatePurchased?

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

 [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

Спасибо...

4b9b3361

Ответ 1

После некоторых исследований я могу ответить на свой вопрос и поднять еще одну связанную с этим проблему. App Store вызывает payQueue и отправляет транзакцию. Транзакция отправляется с транзакцией .transactionState == SKPaymentTransactionStateRestored, not transaction.transactionState == SKPaymentTransactionStatePurchased.

Проблема в том, что, к сожалению, это отправляется только на одно устройство. Второе устройство не получает проводку. Поэтому, чтобы обнаружить автоматическое обновление или, скорее, обнаружить отсутствие автообмена и запретить устройству постоянную подписку, вам необходимо выполнить восстановлениеCompletedTransaction или "HTTP-сообщение с 64-битным кодированным JSON, содержащим последнюю транзакцию". Если fomer, пользователь должен указать свой пароль; это навязчивое. Если последнее, требуется много дополнительного кодирования. Итак, мой вопрос: почему у StoreKit нет команды:

(не существует) - [[SKPaymentQueue defaultQueue] restoreAttachedTransactions: (NSArray *) транзакции];

Эта команда будет протекать так же, как restoreCompletedtRansactions, но она только восстановит присоединенные транзакции и, самое главное, не потребует входа пользователя. Он обладает той же защитой безопасности, что и "HTTP-сообщение с 64-битным кодированным JSON, содержащим последнюю транзакцию", и позволяет полностью обрабатывать процесс покупки приложений в StoreKit, вместо того, чтобы требовать код веб-публикации.

Если это имеет смысл для вас, пожалуйста, предложите, как получить это в Apple.... спасибо.

Ответ 2

прочитайте этот пост Я не уверен, что это поможет вам