如何在加载插页式广告之前通知用户

How to notify user before loading Interstitial Ad

目前在我的应用程序中,当用户点击按钮或移动到新按钮时我会显示广告 activity,我想做的是在加载广告之前通知用户。我想显示类似 A​​d is loading...! 的消息,2-3 秒后该消息应该会消失。简而言之,我想在广告预加载时显示对话框。我在 alert msg 的帮助下尝试了这个,但那不起作用,我不确定我们需要在哪里添加警报对话框。

请帮忙...!

提前致谢...!

您可以使用一个 Thread 倒计时 x 秒,textView 每秒钟都会更改(它将是一个数字),然后用户会感觉到倒计时

public CountDownThread extend Thread { 

private int mTotalNum;
private CountDownListener mCuntDownListener;


public CountDownThread(int totalNum, CountDownListener countDownListener) {
   this.mTotalNum = totalNum
   this.mCountDownListener = countDownListener
}

@Override
public void run(){
  while (mTotalNum > 0) {
      try {
        sleep(1000);
      }catch (InterruptedException e){
     //
      }
      --mTotalNum
   } 
  mCuntDownListener.onCountDownThreadDone()
}

在你的 activity:

1) 你需要实现 CountDownListener (当你实现 CountDownListener 时,你必须实现 onCountDownThreadDone() 方法,在那里你需要实现你的 dailog box ).
2) 此外,您还需要致电 CountDownThread(3, this)3 是以秒为单位的显示时间,this 是听众)。

这是interface:

public interface CountDownListener {
    void onCountDownThreadDone();
}

倒计时(在你的例子中是 3 秒)完成后,将调用 onCountDownThreadDone() 方法(查看 CountDownThread class 中的 run() 方法) .然后就会出现你的dailog box的实现(你在你的Activity中实现)。

您可以使用如下倒计时计时器,首先,吐司消息显示,然后 3 秒(3000 毫秒)后您的广告代码将 运行

        Toast.makeText(this, "Ad is loading...", Toast.LENGTH_LONG).show();

        new CountDownTimer(3000, 1000) {
            @Override
            public void onTick(long millisUntilFinished) {

            }

            @Override
            public void onFinish() {  // runs after 2 sec. (2000 msec.)
                // This is the place where you call your interstitial ad.
            }
        }.start();

我使用下面的代码实现了这个

/* Show your dialog */

    ShowDailog();

/* following code will run after 3000ms */

    new Handler().postDelayed(new Runnable() {

                        @Override
                        public void run() {
                            // TODO Auto-generated method stub
                            showInterstitial();
                        }

                    }, 3000);