如何修复Android中的插页式广告的“广告加载失败:0”?

时间:2019-04-16 13:04:17

标签: java android gadinterstitial

我必须在Activity上每20秒加载一次插页式广告。我有两个名为MainActivity和ListenActivity的活动。在这两个活动中,我都编写了以下相同的代码:

private final String TAG = "RedFM_AdsDemoActivity";
private InterstitialAd interstitialListen;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ads_demo);
    MobileAds.initialize(this, getString(R.string.google_ad_app_id));
    // Create the InterstitialAd and set the adUnitId.
    interstitialListen = new InterstitialAd(this);
    // Defined in res/values/strings.xml
    interstitialListen.setAdUnitId(getString(R.string.admob_interstitial_id_google));
    interstitialListen.loadAd(new AdRequest.Builder().build());
    interstitialListen.setAdListener(new AdListener() {
        @Override
        public void onAdClosed() {              
            loadInterstitial();
        }
    });
    resumeGame(20000);
}

private static final long GAME_LENGTH_MILLISECONDS = 20000;
public CountDownTimer countDownTimer;
public boolean gameIsInProgress;

public void createTimer(final long milliseconds) {
    // Create the game timer, which counts down to the end of the level
    // and shows the "retry" button.
    if (countDownTimer != null) {
        countDownTimer.cancel();
    }
    countDownTimer = new CountDownTimer(milliseconds, 1000) {
        @Override
        public void onTick(long millisUnitFinished) {

        }

        @Override
        public void onFinish() {
            gameIsInProgress = false;
            showInterstitial();
        }
    };
}

public void showInterstitial() {
    // Show the ad if it's ready. Otherwise toast and restart the game.
    if (interstitialListen != null && interstitialListen.isLoaded()) {
        interstitialListen.show();         
    } else {
        loadInterstitial();
    }
}

public void loadInterstitial() {
    // Request a new ad if one isn't already loaded, hide the button, and kick off the timer.
    if (!interstitialListen.isLoading() && !interstitialListen.isLoaded()) {
        System.out.println(TAG + "Listen  ads loaded");
        AdRequest adRequest = new AdRequest.Builder().build();
        interstitialListen.loadAd(adRequest);
    } else
        System.out.println(TAG + "Listen  ads not loaded");
    resumeGame(GAME_LENGTH_MILLISECONDS);
}

public void resumeGame(long milliseconds) {
    // Create a new timer for the correct length and start it.
    System.out.println(TAG + "Listen  resumeGame called ");
    gameIsInProgress = true;
    createTimer(milliseconds);
    countDownTimer.start();
}

@Override
protected void onPause() {
    super.onPause();
    if (countDownTimer != null)
        countDownTimer.cancel();
}
  • 当我将ListenActivity移至MainActivity时,这两个活动均加载了广告。
  • 但是,当我将MainActivity移到ListenActivity时,此时广告在MainActivity上展示,但广告没有在ListenActivity上加载。我收到“广告加载失败:0”,请问我来自MainActivity时如何在ListenActivity上展示广告。 / li>

0 个答案:

没有答案