我希望提供我的应用程序的免费版本。限制是,一旦您将15个便笺保存到数据库中,则每月只能添加5个便笺。每次达到限制时,以及每次达到限制后尝试制作新笔记时,我都会提示用户通过应用内购买来解锁应用。达到初始限额后的30天,或者如果更容易,则可以在每月的第一天开始,他们可以添加5个便笺,直到他们全部使用它们后,我才会打扰他们。限制不会滚动。
是否有人对解决此问题的最佳方法有任何想法?
最佳答案
我建议您看一下Wrapper (also called Adapter) Design Pattern。
实现该模式的解决方案包括:
一个类,其目的是向数据库添加注释。让我们调用方法addNote(Note newNote)
NotesManagement类{
public boolean addNote(Note newNote){
//将注释添加到数据库并返回是否成功
}
}
一个包装上一类并覆盖该方法的类:
TrialNotesManagement类扩展NotesManagement {
私人NotesManagement笔记管理;
公共TrialNotesManagement(){
notesManagement =新的NotesManagement();
}
@Override
public boolean addNote(Note newNote){
如果(isAllowedToAdd()){
返回notesManagement.add(newNote);
}其他{
返回false;
}
}
私人布尔isAllowedToAdd(){
//进行检查-建议:“数据库”中有一个计数器,该计数器在每月的第1天重置
}
}
处理请求的类应如下所示:
类AppController {
票据管理票据管理;
公共AppController(){
如果(isTrial()){
notesManagement =新的TrialNotesManagement();
}其他{
notesManagement =新的NotesManagement();
}
}
public boolean addNote(Note newNote){
notesManagement.addNote(newNote);
}
}