Interstitial Ad Loading After every 1 Minte

元气小坏坏 提交于 2019-12-06 16:25:48

问题


I want to Display a Interstitial Ad after every one minute... can any one please explain with sample code ...

thanks Please

    interstitialAds = new InterstitialAd(this, "Your_Pub_ID");
    final AdRequest adRequest = new AdRequest();
    interstitialAds.loadAd(adRequest);
    interstitialAds.setAdListener(this);

回答1:


There are numerous way to display Interstitial ads at regular interval of time. You can add codes in your app in order to display Interstitial ads at regular interval of time.


prepareAd();

    ScheduledExecutorService scheduler =
            Executors.newSingleThreadScheduledExecutor();
    scheduler.scheduleAtFixedRate(new Runnable() {

        public void run() {
            Log.i("hello", "world");
            runOnUiThread(new Runnable() {
                public void run() {
                    if (mInterstitialAd.isLoaded()) {
                        mInterstitialAd.show();
                    } else {
                       Log.d("TAG"," Interstitial not loaded");
                    }

                    prepareAd();


                }
            });

        }
    }, 20, 20, TimeUnit.SECONDS);

However, I (you can say that admob) strongly stopping you to doing such stuffs. It is against AdMob policy and your account will get suspended if you do so.

If you want to learn more stuffs about android app development and how to place admob ad in your application. I recommend you to visit this website.

http://www.elegantespace.com/how-to-load-interstitial-ad-at-regular-interval-of-time/




回答2:


Firstly this will be a VERY bad experience for your users. I would strongly recommend against it.

But if you really want to piss your users off then something like:

final Runnable runanble = new Runnable() {
  public void run() {
    while (true) {
      wait(60000);
      runOnUiThread(intersitial.showAd());
      interstitial.loadAd(new request());
    }
  }
};

Edit: DO NOT DO THIS. I have had word back from Admob that this directly contravenes their policies and it will get your account disabled.




回答3:


This is against admob policies and they will ban you also this will be very bad experience for user.




回答4:


place it in oncreate method

handler.postDelayed(runnable, 420000);

after oncreate method

Runnable runnable = new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
//Your code to show add
// Create the interstitial.
// Prepare the Interstitial Ad
Interstitial = new InterstitialAd(your activity);
// Insert the Ad Unit ID
interstitial.setAdUnitId("your id ");

//Locate the Banner Ad in activity_main.xml
AdView adView = (AdView) findViewById(R.id.ad_view);

// Request for Ads
AdRequest adRequest = new AdRequest.Builder()

// Add a test device to show Test Ads
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("")
.build();

 // Load ads into Banner Ads
 adView.loadAd(adRequest);

 // Load ads into Interstitial Ads
 Interstitial.loadAd(adRequest);

 // Prepare an Interstitial Ad Listener
 interstitial.setAdListener(new AdListener() {
 public void onAdLoaded() {
 // Call displayInterstitial() function
 displayInterstitial();
 }
 });
 handler.postDelayed(this, 600000); // 1000 - Milliseconds
 }
 };



回答5:


interstitialAd.setAdListener(new AdListener() {
public void onAdLoaded() {
    Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
        public void run() { 
            MainActivity.this.interstitialAd.show();
        } 
    }, 5000);
} });



回答6:


just simple. create Timertask and schedule every 60000 ms. but it is bad UX for users. don't do it

final Handler handler = new Handler();
    Timer timer = new Timer();
    TimerTask doAsynchronousTask = new TimerTask() {
        @Override
        public void run() {
            handler.post(new Runnable() {
                public void run() {
                    if (mInterstitialAd.isLoaded()) {
                        mInterstitialAd.show();
                    }
                }
            });
        }
    };
    timer.schedule(doAsynchronousTask, 0, 60000);


来源:https://stackoverflow.com/questions/19209855/interstitial-ad-loading-after-every-1-minte

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!