Я работаю над приложением для iPhone, которое на сегодняшний день использует модель с фиксированной ценой. В следующей версии планируется уменьшить базовый набор функций и цену, а затем дать пользователям возможность совершать покупки в приложениях для пакетов функций.
Добавление покупок в приложении кажется очень простым. Меня беспокоит то, что неочевидно, как мне обращаться с устаревшей поддержкой для пользователей, которые в настоящее время владеют приложением, потому что при обновлении они все равно должны иметь доступ ко всем функциям. То есть устаревшие пользователи не должны терять доступ к функциям; к ним следует относиться так, как будто они уже заплатили за них.
Простейший способ справиться с этим, я думаю, состоит в том, чтобы провести какой-то рутинный тест на наличие флага в файле plist (или NSUserDefaults): если флага нет, он обновляется с предыдущей версии. .
Еще один вызов - обратный вызов, который запускается, когда ядро обнаруживает первый запуск обновленной версии приложения. Однако я не могу найти много в доступной документации для поддержки такого рода.
Кто-нибудь может дать рекомендацию?
РЕДАКТИРОВАТЬ: Есть также два связанных сценария, которые необходимо рассмотреть:
1) У пользователя установлена старая версия приложения. Они обновляют, но позже удаляют приложение. При переустановке (новая версия из магазина) у них все равно должен быть доступ к устаревшим функциям.
2) Пользователь удалил старую версию приложения, но решает установить обновленную версию из магазина. Что касается приложения, то это совершенно новая установка.
(1) кажется адресуемым, если процедура обновления создаст в StoreKit количество покупок по $ 0. Таким образом, поддержка Apple для восстановления приложений (и покупок) должна просто работать.
Что касается (2), я понятия не имею, есть ли способ обойти это.