Я хочу знать, когда и когда квитанция приложения автоматически обновляется, когда автоматически обновляется подписка на автообслуживание IAP. Документация предполагает, что получение приложения обновляется при совершении покупки (обновление?), Но я не вижу, это поведение в IAP песочнице:Подписка на автоматическое продление подписки и получение приложения
Информация о продукции и не обновление подписки добавляется к квитанцию, когда они оплачиваются и остаются в квитанции , пока вы не закончите транзакцию. После того, как вы закончите транзакцию , эта информация будет удалена при следующем обновлении квитанции , например, в следующий раз, когда пользователь совершит покупку.
Информация о всех других видах покупок добавляется к квитанции , когда они оплачиваются и остаются в квитанции на неопределенный срок.
Кроме того, государство документы:
После подписки успешно обновляется, магазин Kit добавляет транзакции для обновления в очередь транзакций. Ваше приложение проверяет очередь транзакций при запуске и обрабатывает обновление таким же образом как и любая другая транзакция. Обратите внимание, что если ваше приложение уже работает , когда подписка возобновляется, наблюдатель транзакций не вызывается; ваше приложение узнает об обновлении при следующем запуске.
Для меня это означает, что я могу контролировать SKPaymentQueue
для завершенных транзакций, а затем проверить квитанцию приложения, чтобы найти их запись. Но я не вижу это на практике в песочнице IAP. В песочнице IAP у меня есть подписка на автоматическое продление, которая автоматически обновляется (6 раз на пользователя/покупка, обычная песочница) , но чтобы открыть обновление, мне нужно вручную обновить квитанцию приложения.
Предполагая, что все это работает так, как я ожидаю, существуют ли лучшие методы тестирования в изолированной среде IAP, чтобы вызвать это поведение?
Вы непосредственно проверяете получение или полагаетесь на сторонний (непрозрачный) код? У меня есть несколько приложений с автоматическим обновлением и не имеют проблем с элементами, отображаемыми в квитанции. Конечно, я проверяю квитанцию при каждом запуске приложения ... –
Я расшифровываю клиентскую часть квитанции, используя RMStore и проверяя ее на стороне сервера с Apple. Это все работает. – TomSwift
Хорошо, круто. Я не знаю подробностей RMStore; вы просматриваете весь список записей или делает это для вас? У вас должна быть подписка для каждого продления. –