Пользователь в приложении "Покупка" отменяет tx, пока приложение находится в фоновом режиме: состояние tx остается при покупке

У меня странное поведение с отменой пользователем в Покупке приложения (среда песочницы), когда приложение находится в фоновом режиме и пользователь еще не вошел в магазин:

Процесс выглядит следующим образом:

  • Пользователь не вошел в систему / Идентификатор приложения не установлен в Настройки> Магазин
  • Пользователь нажимает кнопку покупки. Это вызывает [[SKPaymentQueue defaultQueue] addPayment: payment];
  • Пользователь немедленно нажимает кнопку «Домой» (приложение переходит в фоновый режим).
  • Появляется всплывающее окно Storekit с просьбой подтвердить покупку. Пользователь отменяет
  • Приложение снова активируется и ожидает получения - (void) paymentQueue: (SKPaymentQueue *) queue updatedTransactions: (NSArray *) transaction , но не получает. TX все еще находится в государственной закупке.

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

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

Заключение: Пользователь, отменяющий транзакцию платежа, когда приложение работает в фоновом режиме и не вошел в систему, приводит к поздней доставке обратного вызова storekit. Доставка осуществляется после того, как пользователь фактически вошел в магазин приложений, и процесс PaymentQueue запускается повторной активацией приложения.

Такое поведение кажется неправильным, и если оно действительно таково в реальной среде , я может считать это ошибкой Storekit. Кто-то испытал такое же поведение или может указать что-то, чтобы предотвратить "зависание" tx в состоянии покупки?

Спасибо, Marcus

7
задан marcus 10 June 2011 в 19:21
поделиться