我正在尝试在加载下一个活动时在我的Android应用中显示Admob Interstitial。但是,在我的第一个活动暂停加载下一个活动时,插页式广告没有时间加载(例如,由于网速较慢)。
有人可以帮我一个方法来在活动之间继续广告请求,然后它会显示在屏幕上吗?
目前displayInterstitial()
位于第一项活动的onResume()
方法中。
public class MainActivity extends Activity implements OnClickListener {
public InterstitialAd interstitial;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
scrool = (ScrollView) findViewById(R.id.scrool);
layout = (RelativeLayout) findViewById(R.id.layout);
requestInterstitial();
}
public void requestInterstitial() {
interstitial = new InterstitialAd(this);
AdRequest adRequest2 = new AdRequest.Builder().build();
interstitial.loadAd(adRequest2);
}
public void displayInterstitial() {
if (interstitial.isLoaded()) {
interstitial.show();
}
}
@Override
public void onClick(View v) {
for (int i = 0; i < buttons.size(); i++) {
if (buttons.get(i).getId() == v.getId()) {
Intent trimite = new Intent(MainActivity.this, RecipeView.class);
Bundle colet = new Bundle();
colet.putString("key", Content.RETETE[i]);
colet.putInt("keyimg", drawableId.get(i));
trimite.putExtras(colet);
startActivity(trimite);
break;
}
}
}
@Override
protected void onResume() {
super.onResume();
displayInterstitial();
}
}
答案 0 :(得分:0)
如果您设置了一个AdListener,即使在加载它的活动上调用了onDestroy,您也可以告诉您的插页式广告在完成加载时显示。
public void requestInterstitial() {
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId("****************");
AdRequest adRequest2 = new AdRequest.Builder().build();
interstitial.loadAd(adRequest2);
interstitial.setAdListener(new AdListener()
{
@Override
public void onAdLoaded(){
super.onAdLoaded();
interstitial.show();
}
});
}
请注意这一点,因为根据您的下一个活动所包含的内容,插页式广告可能会中断流量并降低用户体验。