SKPaymentTransaction expires_date, похоже, что механизм автообновления не работает в песочнице - PullRequest
0 голосов
/ 31 марта 2012

Я почти управлял подпиской на автообновление в своем приложении, но происходит одна странная вещь - она ​​не продлевается автоматически.

У меня есть кнопка, которая добавляет SKPayment к моему продукту и дает мне возможность получить активную SKPaymentTransaction.

Затем я сохраняю эту квитанцию ​​и пытаюсь отправить ее в Apple еще раз, чтобы проверить дату истечения срока. И она возвращает мне дату моей первой покупки, а не последнюю, в ее expiredate. И когда заканчивается период подписки (через пять минут в песочнице), он просто возвращает мне 21002

Но если я снова обновлю его вручную, новые квитанции дадут мне обновленную дату истечения срока, я сохраню ее снова, и все пойдет кругом.

И, да, original_purchase_date одинаково в обоих случаях:

Может я просто не понимаю, как работает проверка срока годности?

Ответы [ 2 ]

4 голосов
/ 31 марта 2012

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

Автоматическое возобновление ОСТАНОВКИ через некоторое время в Песочнице

Некоторые люди говорят, что это происходит через 6 раз (30 минут для подписки montky), а затем вы начинаете получать 21006, вам нужно будет затем повторно купить его, и, даже после выкупа, он больше не будет автоматически продлеваться Вам нужно создать нового тестового пользователя, чтобы снова протестировать эту часть в приложении.

Я сам это почувствовал, и парни на форумах по яблокам говорят, что они испытывали ту же проблему.

https://devforums.apple.com/thread/105350

На самом деле, я искал немного больше и узнал об этом в Руководстве для разработчиков Apple Connect iTunes, но раньше я его не читал, поэтому это доставило мне столько головной боли.

1 голос
/ 30 августа 2012

В моем случае автообновление работает два раза, затем я начинаю видеть 21006. Вчера, с тем же пользователем, он не работал вообще (купил один раз, срок годности истек после истечения первого срока годности).Apple говорит, что вам не нужно создавать нового тестового пользователя, что, возможно, является правдой - по крайней мере, в моем случае, использование одного или другого пользователя не имеет значения, похоже, это решение для песочницы.

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

...