Как уведомить пользователя перед загрузкой промежуточной рекламы - PullRequest
0 голосов
/ 12 января 2020

В настоящее время в моем приложении я показываю объявление, когда пользователь нажимает кнопку или переходит к новой активности, и я хочу уведомить пользователя перед загрузкой объявления. Я хочу показать сообщение типа Объявление загружается ...! и после 2-3 се c сообщение должно исчезнуть. Короче хочу показать диалог по предварительной загрузке рекламы. Я пытался это с помощью оповещения MSG, но это не работает, я не уверен, где нам нужно добавить диалоговое окно оповещения.

Пожалуйста, помогите ...!

Заранее спасибо ...!

Ответы [ 3 ]

2 голосов
/ 12 января 2020

Вы можете использовать Thread, который обратный отсчет для x se c, каждый se c, 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()
}

В вашей деятельности:

1) Вам нужно реализовать CountDownListener (Когда вы реализуете CountDownListener, вам нужно будет реализовать метод onCountDownThreadDone(), там вам нужно реализовать свой dailog box).
2) Кроме того, вам нужно будет позвонить на CountDownThread(3, this) (3 - ваше время отображения в се c, this - слушатель).

Это interface:

public interface CountDownListener {
    void onCountDownThreadDone();
}

После завершения обратного отсчета (в вашем случае 3 se c) будет вызван метод onCountDownThreadDone() (см. Метод run() в CountDownThread класс). Затем появится реализация вашего dailog box (вы реализуете его в своем Activity).

0 голосов
/ 12 февраля 2020

Я достиг этого, используя следующий код

/* 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);
0 голосов
/ 12 января 2020

Вы можете использовать CountDownTimer, как показано ниже. Сначала показывается всплывающее сообщение, затем 3 se c. (3000mse c), позже ваш рекламный код будет работать

        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();
...