【发布时间】:2026-01-04 11:10:01
【问题描述】:
我完全按照 Google 发布的方式应用广告代码,但未显示广告。
我的代码:
AdRequest adRequest = new AdRequest.Builder().build();
InterstitialAd.load( this, "ca-app-pub-3940256099942544/1033173712", adRequest, new InterstitialAdLoadCallback() { //test reklam id
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// The mInterstitialAd reference will be null until
// an ad is loaded.
mInterstitialAd = interstitialAd;
Log.i( TAG, "onAdLoaded" );
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
Log.i( TAG, loadAdError.getMessage() );
mInterstitialAd = null;
}
});
这是我用来展示广告的按钮代码:
btnGo.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mInterstitialAd != null) {
mInterstitialAd.show(MainActivity.this);
Log.e( "ads", "must be shown" );
}
startActivity( new Intent( MainActivity.this, SecondActivity.class ) );
}
});
加载广告后,我收到了有关它的加载日志,似乎没有问题。 我检查广告是否为空以显示广告状态,如果它不为空,我会得到一个显示的广告,这很好。 唯一的问题是广告没有展示。
可能是什么问题或我做错了什么?
【问题讨论】:
-
我最好的猜测是您在广告有时间展示之前调用了 startActivity。相反,您应该在加载逻辑中实现 onAdClosed 并在那里调用 startAtivity(secondActivity)。
-
onAdClosed 是如何调用的?你能帮助我吗?你只有 onLoaded 和 onFailed。
-
thanx @AndreasEvjenth 为我工作你的想法。
标签: java android admob interstitial