我想在底部展示两个admob横幅,一个是互动的,另一个是另一个。 互动的工作效果很好,但对于其他横幅,它只显示没有广告的横幅。 我只使用代码,没有xml文件和cordova插件。
public class MainActivity extends CordovaActivity{
private AdView adView;
private AdRequest adRequest;
private InterstitialAd interstialAd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set by <content src="index.html" /> in config.xml
adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("ca-123");
adView.setBackgroundColor(Color.YELLOW);
super.loadUrl(launchUrl);
((LinearLayout) appView.getParent()).addView(adView);
adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
interstialAd = new InterstitialAd(MainActivity.this);
interstialAd.setAdUnitId("ca-123");
interstialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
// TODO Auto-generated method stub
super.onAdClosed();
}
public void onAdLoaded() {
// Call displayInterstitial() function
displayInterstitial();
}
});
interstialAd.loadAd(adRequest);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
displayInterstitial();
super.onPause();
}
public void displayInterstitial() {
// If Ads are loaded, show Interstitial else show nothing.
if (interstialAd.isLoaded()) {
interstialAd.show();
} else {
interstialAd.loadAd(adRequest);
}}}
问题是什么?谢谢你抽出时间回答
答案 0 :(得分:1)
我认为问题是两个视图共享相同的AdRequest对象,我真的认为你应该为每个视图创建一个新对象。
adView.loadAd(new AdRequest.Builder().build());
interstialAd.loadAd(new AdRequest.Builder().build());
答案 1 :(得分:0)
看看你的llogcat。它将包含广告加载和显示的详细信息。它会告诉您发生了什么以及为什么您没有看到正在展示的广告。
此外,不会显示onAdLoaded()
的插页式广告。它提供了可怕的用户体验,并且可能会使您的Admob帐户被禁止。
答案 2 :(得分:0)
您不能对插页式广告和横幅广告使用相同的广告单元。听起来您在AdMob前端为插页式广告制作了广告单元。为横幅制作另一个广告单元,并使用该广告单元ID代替您的横幅广告请求。