2013-01-26 7 views
4

Я разрабатываю приложение iDevice. Я хочу сделать так, чтобы Пользователь этого приложения мог бесплатно загрузить это приложение из iTunes, но после пробного периода в 1 неделю пользователю будет предложено приобрести приложение. Если Пользователь не купит его, ему не разрешено использовать приложение.Внедрить бесплатный пробный период в iOS

+5

Apple, удалит приложение которые делают следующее: Приложения, содержащие «аренду» контента или услуги, срок действия которых истекает через ограниченное время, не разрешены. и приложения, которые являются «бета», «демо», «пробными» или «тестовыми» версиями, не разрешены. – iProgrammed

ответ

0

Сохраните дату в пользовательских настройках по умолчанию.

При каждом запуске приложения проверьте, не установлено ли значение dateDiffernce не более 30 дней. Если он больше показывает всплывающее окно, попросите пользователя купить приложение. и отключить все функционалы.

EDIT: В мои ранние дни мы сделали много таких настроек для окон, пробных игр и приложений. Но вы потеряете сохраненные данные с повторной установкой приложения. Если вы все еще настаиваете на том, чтобы не разрешать, вы можете записать его в Keychain или в каком-либо файле в документах вместо пользовательских значений по умолчанию и plist. Но Apple в некоторой степени не допускает такого приложения.

+1

Что если пользователь удалит приложение после пробного периода, а затем загрузит его снова из iTunes? –

+1

Мой совет - сосредоточьтесь на хорошем опыте пользователей для тех, кто платит, а не блокирует тех, кто этого не делает. Удаление и повторное добавление приложения каждую неделю будет раздражать через некоторое время. – DrC

+0

@ A12388: В мои ранние дни мы сделали много таких настроек для окон, пробных игр и приложений. Но вы потеряете свои сохраненные данные с повторным запуском приложения. Если вы все еще настаиваете на том, чтобы не разрешать, вы можете записать файл в документы вместо пользовательских значений по умолчанию и plist. –

4

Используйте брелок для хранения даты установки приложения. Значения, которые добавляет ваше приложение к цепочке ключей, сохраняются после удаления вашего приложения и могут быть снова доступны при повторной установке.

https://developer.apple.com/library/ios/#documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/doc/uid/TP30000898-CH4g-SW7

+1

И они также подвергаются чтению/изменению [this] (https://github.com/ptoomey3/Keychain-Dumper) ... –

+0

@ H2CO3 вы не указали на мелкие детали, что устройство должно быть взломанным. –

+1

@GabrielePetronella Это не второстепенно. Там много джейлбрейковых устройств. –

4

Одним из вариантов может быть предложен один АКВ: сэкономить время в NSUserDefaults и проверить его при каждом запуске.

Недостатком является то, что пользователь может сбросить пробный период, переустановив приложение из AppStore.

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

В качестве альтернативы вы можете сохранить уникальный идентификатор устройства на своем сервере и проверить его при каждом запуске приложения.

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

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

Apps, содержащий «аренда» содержание или услуги, которые истекают после ограниченного время будет отвергнуто

+0

Как я могу получить идентификатор устройства? –

+0

http://stackoverflow.com/questions/6993325/uidevice-uniqueidentifier-deprecated-what-to-do-now –

+0

будет ли он поддерживать ios6? –

Смежные вопросы