Я занимаюсь именно этой загадкой. Я предлагаю 3 платных плана (и совершенно бесплатный) с очень простой в использовании функцией перехода на более раннюю версию. Мое приложение не требует много места для хранения, поэтому я не забочусь о хранении данных, которые в настоящее время неактивны.
На панели инструментов я показываю пользователю их текущие уровни плана и лимит элементов, которые в настоящее время есть в их плане. Так например:
Campaigns: using 8 out of 10
Если они перейдут к плану с, скажем, 5 кампаниями, будет сказано
Campaigns: using 10 out of 5
Это явно неубедительно, поэтому мое решение - отображать оставшиеся как
Campaigns: using 5 out of 5 (3 campaigns inactive - UPGRADE)
Теперь, с точки зрения бизнеса, я думаю, что имеет смысл деактивировать последние созданные ими кампании, пока они не обновятся до плана. Это означает, что мы блокируем все кампании, кроме X первых созданных кампаний. Это будет хорошим стимулом для них либо обновить, либо начать удалять старые предметы (согласно ответу Матти Вирккунена)
У меня есть логика в приложении, которое запускает метод isItemActive, который проверяет, основан ли на их текущем плане и уровнях этого плана, должен ли этот элемент быть активным каким-либо образом (IE: отображать его в интерфейсе для посетителей или что-то еще). Естественно, это зависит от самого приложения, но я думаю, что подход LIFO (последний в первом деактивирован) имеет наибольший смысл и заставляет пользователей либо обновлять, либо, по крайней мере, удалять свои старые элементы.
В вашем случае вы потенциально можете сделать то же самое, за исключением того, что вы можете добавить предупреждение или ограничение по времени, после которого данные пользователя, превышающие их лимит, будут удалены навсегда.
person
stueynet
schedule
29.11.2011