Android_Amelia 2020-06-04 18:23 采纳率: 33.3%
浏览 240
已结题

android 限制广告页每天的显示次数

最近有个需求,限制广告页每天只显示三次,我的思路是:如果似乎同一天,假如次数小于三,就显示广告页,次数+1,然后用SharePreferences保存时间和次数,如果不是同一天,次数就为0,然后操作跟上次一样,但总觉得哪里不太对,所以没有达到效果,求指教,以下是代码:
int frequency = SharePreferencesUtils.getIntValue(mContext,"time_and_frequency","frequency");
int lastDay = SharePreferencesUtils.getIntValue(mContext,"time_and_frequency","lastDay");
int today = Calendar.getInstance().get(Calendar.DAY_OF_YEAR);
Log.i(TAG, "date____today: "+today);
Log.i(TAG, "date____lastDay: "+lastDay);
Log.i(TAG, "date____get_frequency: "+frequency);
if (lastDay == 0 ||lastDay != today){
int new_frequency = SharePreferencesUtils.getIntValue(mContext,"time_and_frequency","new_frequency");
Log.i(TAG, "date____get_new_frequency: "+new_frequency);
if(new_frequency < 3){
new_frequency ++;
//显示广告页
int day = Calendar.getInstance().get(Calendar.DAY_OF_YEAR);
Log.i(TAG, "date____get_new_frequency++: "+new_frequency);
SharePreferencesUtils.putIntValue(mContext,"time_and_frequency","new_frequency",new_frequency);
SharePreferencesUtils.putIntValue(mContext,"time_and_frequency","lastDay",day);
}else{
//别的操作
}
}else {
if(frequency < 3){
frequency ++;
//显示广告页
int day = Calendar.getInstance().get(Calendar.DAY_OF_YEAR);
Log.i(TAG, "date____sameday_frequency: "+frequency);
SharePreferencesUtils.putIntValue(mContext,"time_and_frequency","frequency",frequency);
SharePreferencesUtils.putIntValue(mContext,"time_and_frequency","lastDay",day);
}else{
//别的操作
}
}


  • 写回答

2条回答 默认 最新

  • threenewbee 2020-06-05 14:20
    关注

    首先调试下
    Log.i(TAG, "date____today: "+today);
    Log.i(TAG, "date____lastDay: "+lastDay);
    Log.i(TAG, "date____get_frequency: "+frequency);
    这几行输出对不对

    评论

报告相同问题?