Я внедряю In-App Purchase с использованием контента, размещенного на Apple. Раньше я использовал Urban Airship для размещения моего контента и использования своего SDK для обеспечения пользовательского интерфейса и покупки в приложении.
Поскольку Urban Airship прекращают поддержку IAP в июле этого года, мне нужно его заменить.
В SDK Urban Airship была поддержка обновления приобретенного контента. Я вижу, что StoreKit предоставляет эту функциональность (по крайней мере, до некоторой степени), но я не уверен, как правильно реализовать само обновление контента.
SKProduct
имеет downloadContentVersion
, который указывает версию содержимого, доступную для загрузки из Apple. Я отслеживаю, какая версия в настоящее время загружается в приложение, поэтому я знаю, когда доступно обновление.
Часть, с которой я застрял, - это как загрузить загруженный контент?
Моя первая мысль заключалась в том, чтобы сделать восстановление для этой конкретной покупки, но, похоже, нет способа восстановить отдельные продукты (только для всех продуктов). Вторая мысль заключалась в том, чтобы просто повторно приобрести продукт, но это представляет предупреждение пользователю, указывающее, что они будут списаны снова - они не будут списаны, однако, поскольку после повторного приобретения отображается другое предупреждение, информирующее пользователя о том, что контент уже куплен и будет повторно загружен бесплатно, но для меня это похоже на плохой пользовательский опыт, они могут не знать, что они не будут списаны снова, пока не согласится на покупку.
В документации говорится, что я не создавал экземпляры SKDownload
, поэтому я не могу просто создать его и добавить в очередь загрузки.
Как я могу реализовать обновления контента для In-App Purchase при использовании контента, размещенного в Apple?