Как ограничить ранее доступную функциональность покупкой InApp - PullRequest
2 голосов
/ 28 мая 2011

У меня есть приложение, которое совершенно бесплатно. Я хочу обновить его покупками InApp, чтобы некоторые функции были ограничены для покупки, но я также хочу, чтобы все, кто уже загрузил приложение, имели все доступные функции. То есть Я хочу изменить свое приложение, чтобы использовать покупки InApp для всех будущих загрузок.

Я записывал покупки InApp в NSUserDefaults в прошлом, но не уверен, как я могу сделать вышеуказанное таким образом. Есть ли способ проверить версию моего приложения, чтобы я знал, нужно ли искать материалы InApp, или есть способ проверить дату последнего обновления или подобные вещи? Если нет, есть ли какой-то способ логически проверить, загрузили ли пользователь уже после обновления (я так не думаю)?

Ответы [ 3 ]

2 голосов
/ 11 июня 2011

Вы должны подключить этот переключатель в поведении к некоторым остаткам из предыдущей сборки. Итак, может быть, вы записали файлы в каталог Library, может быть, вы оставили значения NSUserData ... Дело в том, что в вашей новой версии при первом запуске вы посмотрите, приняли ли вы решение по этому поводу раньше. Если нет, посмотрите, есть ли свидетельства более ранних пробежек. Если они у вас есть, установите в NSUserDefaults постоянный переключатель, говоря: «Устаревший пользователь! Обращайтесь с ними хорошо!». Затем продолжайте, чувствительный к этому переключателю, пока вы представляете функциональность.

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

1 голос
/ 28 мая 2011

Продайте свое приложение как новое приложение и перестаньте продавать старое. Люди, которые ранее загружали старую версию, будут по-прежнему иметь приобретенную функциональность, а люди, загружающие новое приложение, будут иметь меньшую функциональность и должны будут платить.

0 голосов
/ 28 мая 2011
NSString* vers;
vers = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 

возвращает мне номер версии, сохраненный в info.plist в форме NSString, то есть «1.2.1».:)

обновлено: это неверное решение.Я упустил из виду, что старые пользователи просто будут обновляться до более новой версии, поэтому просмотр версии num не поможет определить, кто уже загрузил приложение.

Обычно я просто удаляю этот неправильный ответ, но решил, что лучшечтобы оставить его здесь, чтобы я мог оглянуться назад и узнать, что не работает, если я попробую снова!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...