Восстановить покупки в приложении для пользователя песочницы, похоже, подтверждают для нового пользователя, даже если они никогда не покупали приложение [дубликат]

Безопаснее поставить номер версии в фактическое имя файла. Это позволяет сразу нескольким версиям, чтобы вы могли развернуть новую версию, и если все кэшированные HTML-страницы все еще существуют, которые запрашивают более старую версию, они получат версию, которая работает со своим HTML.

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

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

0
задан rmaddy 27 September 2016 в 21:20
поделиться

1 ответ

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

Процесс восстановления возвращает транзакции, возвращаемые в функцию updatedTransactions, где вы обрабатываете состояние .restored так же, как вы обрабатываете состояние .purchased.

По сути, «восстановление» просто повторяет процесс транзакции покупки для непотребимых и автоматически обновляемых типов подписки на покупку.

5
ответ дан Paulw11 16 August 2018 в 04:40
поделиться
  • 1
    Так внутри моей функции payQueue, в переключателе trans.transactionState. Я должен использовать восстановленный случай? – james 27 September 2016 в 20:22
  • 2
    Да это верно – Paulw11 27 September 2016 в 20:35
  • 3
    Поэтому, когда я вызываю restorePurchases (), он переходит к .restoringAttempt, но print (p.productIdentifier) ​​печатает пустую строку в консоли и, таким образом, переходит в значение по умолчанию и указывает: нельзя купить. Однако, если я нажимаю на кнопку покупки и вхожу, но не покупаю. Затем я пытаюсь восстановить его работу. Итак, что мне нужно включить в мой restorePurchases (), чтобы было предложено войти в первый раз? Еще раз спасибо. – james 27 September 2016 в 20:55
  • 4
    Я не вижу, откуда вы получаете p из своего кода. Он должен быть установлен из transaction.payment – Paulw11 27 September 2016 в 21:03
  • 5
    var p = SKProduct () – james 27 September 2016 в 21:08
Другие вопросы по тегам:

Похожие вопросы: