我对社区有一个非常棘手的问题。 我试图在我的应用程序状态下插入横幅,但它不是第一个在开头打开的横幅。 在我的应用程序中有一个初始屏幕,当我按下一个命中框时,我带着横幅进入另一个屏幕,所以在下面的代码中 TestPubb()是第二个状态。
这是AndroidLauncher:
public class AndroidLauncher extends AndroidApplication {
private static final String TAG ="AndroidLauncher";
protected AdView adView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RelativeLayout layout = new RelativeLayout(this);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
View gameView = initializeForView(new TestPubb(), config);
layout.addView(gameView);
adView = new AdView(this);
adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
Log.i(TAG, "Ad Loaded...");
}
});
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
AdRequest.Builder builder = new AdRequest.Builder();
builder.addTestDevice("5845100B11B77FFC8C7AC54BD59AD27C");
RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
);
layout.addView(adView, adParams);
adView.loadAd(builder.build());
setContentView(layout);
}
}
我应该改变什么?
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以尝试通过覆盖AdView
的{{1}}方法来更改onAdLoaded()
的可见度,这会强制广告视图在广告加载完成后自行绘制。类似的东西:
AdListener
Google建议使用adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
System.out.println("ad banner finished loading!");
adView.setVisibility(View.GONE);
adView.setVisibility(View.VISIBLE);
}
});
,但没有必要。
移动广告SDK需要几毫秒才能初始化,因此移动广告SDK提供了MobileAds.initialize(XXXXX)
方法,可以在您调用第一个广告之前调用它。完成后,您的第一个请求将不会有任何额外的加载时间。如果你不打电话,那么你的第一个AdRequest将需要几毫秒,因为它首先需要初始化自己。