使用(当前时间+更新的Firebase)将插页式广告限制为每小时一小时

时间:2019-06-07 22:04:12

标签: java android admob

我希望有人可以帮助我解决这个问题。

我正在尝试将插页式广告的每次展示次数限制为->在应用程序“打开”时每小时每小时展示一次

但是这里的问题是应用程序一直在后台运行,并且该应用程序没有停止,并且该应用程序处于某种循环中,即使应用程序关闭,它也会每小时显示广告。

从那时起,我正在使用手机的当前时间,而Firebase正在使用它。他们有办法阻止这种情况的发生吗? ....

这是我的代码:

   private void checkAndsSetInterstitialAD() {

    mInterstitialAd
    .setAdUnitId(getString(R.string.main_ad_interstitial_id));

    // Real Ad Request
    adRequestInt = new AdRequest.Builder().build();

    mInterstitialAd.loadAd(adRequestInt);


    calendar       = Calendar.getInstance();
    currentHour    = calendar.get(Calendar.HOUR_OF_DAY);
    oldHourFB = mrf.child("oldHourAdCounter");

       oldHourFB.addValueEventListener(new ValueEventListener() {
          @Override
          public void onDataChange(final DataSnapshot dataSnapshot) {

            y = dataSnapshot.getValue(String.class);

          }

         @Override
         public void onCancelled(FirebaseError firebaseError) {

          }
      });

             mInterstitialAd.setAdListener(new AdListener() {
             @Override
             public void onAdLoaded() {

              oldHour = Integer.parseInt(y);

              if (currentHour > oldHour || oldHour > currentHour 
              && adStoper == 1 ) {

                   if (mInterstitialAd.isLoaded()) {
                    mInterstitialAd.show();
                   }
                   else {

                    System.out.println(
                                  "The interstitial wasn't loaded yet.");
                   }
                }
             }

          @Override
          public void onAdClosed() {

            oldHourFB = mrf.child("oldHourAdCounter");
            oldHourFB.setValue(currentHour)

          }
       });
    }

0 个答案:

没有答案