Ограничить записи в базе данных для бесплатной версии

#java #android

#java #Android

Вопрос:

Я хочу предложить бесплатную версию моего приложения. Ограничение будет заключаться в том, что после сохранения 15 заметок в базе данных вы будете ограничены добавлением 5 заметок в месяц. Каждый раз, когда вы достигаете предела и каждый раз, когда вы пытаетесь сделать новую заметку после достижения предела, я буду предлагать пользователю разблокировать приложение с помощью покупки в приложении. через 30 дней после достижения первоначального предела или первого числа месяца, если это проще, они смогут добавить 5 заметок, и я не буду беспокоить их, пока они не используют их все. Ограничения не будут отменены.

У кого-нибудь есть идеи о наилучшем способе решения этой проблемы?

Ответ №1:

Я предлагаю вам взглянуть на оболочку (также называемую Adapter) Шаблон проектирования. Решение, реализующее этот шаблон, будет включать:

  • Класс, целью которого является добавление примечания к базе данных. Давайте вызовем метод addNote(Примечание newNote)
 управление классом Notes { 
 общедоступное логическое дополнение (примечание newNote) {
 // Добавьте примечание в базу данных и верните, было ли оно успешным или нет
 }
 }
  • Класс, который обертывает предыдущий класс и переопределяет этот метод:
 управление пробными записями класса расширяет управление заметками {
 управление частными заметками notesManagement;

 управление публичными пробными заметками () { 
 notesManagement = новое управление заметками ();
 }

 @Переопределить 
 общедоступное логическое дополнение (примечание newNote) {
 if (isAllowedToAdd()) {
 верните notesManagement.add(Новое примечание);
 } еще {
 возвращает false;
 }
 }

 частное логическое значение isAllowedToAdd() {
 // Выполните проверку-Предложение: в "базе данных" есть счетчик, который сбрасывается каждую 1-ю дату месяца
 }
 }
  • Класс, который обрабатывает запросы, должен выглядеть следующим образом:
 класс AppController {
 Управление заметками Управление заметками;
 общедоступный AppController() { 
 если (isTrial()) { 
 notesManagement = новая пробная версия Notesmanagement();
 } еще { 
 notesManagement = новое управление заметками ();
 }
 }

 общедоступное логическое дополнение (примечание newNote) { 
 Управление заметками.Добавить примечание (newNote);
 }
 }

Ответ №2:

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

Всякий раз, когда создается заметка, на ваш сервер должно быть отправлено сообщение с идентификатором пользователя. Затем вы можете отслеживать заметки (даже если вы не сохраняете содержимое заметок) и отправлять сообщение обратно, когда придет время запретить создание заметки.

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

Комментарии:

1. К сожалению, я не могу пойти по этому пути. Я не могу запросить доступ в Интернет, и у меня нет сервера. Хорошая идея для другого приложения.