公共类MainActivity扩展了Activity {
AdView adView;
InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
adView = (AdView) findViewById(R.id.adView);
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId("ca-app-pub-3500425325579414/2869090680");
AdRequest adRequest = new AdRequest.Builder().addTestDevice(
"BD9386F17F7DE795B86B5BBBEDDF1095").build();
adView.loadAd(adRequest);
interstitialAd.loadAd(adRequest);
interstitialAd.setAdListener(new AdListener() {
public void onAdLoaded() {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
}
}
});
Thread timerThread = new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
try {
sleep(5000);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally {
?????????????????????
}
}
};
timerThread.start();
}
}
我想在我选择的时间后显示我的Admob添加内容。 我想使用一个线程来显示我在dealy中的添加。 但是我如何完成这个我无法做到这一点。 即使我试过这个
Thread timerThread = new Thread() {
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
try {
sleep(5000);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally {
interstitialAd.setAdListener(new AdListener() {
public void onAdLoaded() {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
}
}
});
}
}
};
timerThread.start();
但这不起作用。 我如何以编程方式完成它。
答案 0 :(得分:2)
我看到的问题是,您在延迟后设置 Adlistener而不是在延迟后显示广告。 此外,您不需要创建线程来执行此操作,例如:
interstitialAd.setAdListener(new AdListener() {
public void onAdLoaded() {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
MainActivity.this.interstitialAd.show();
}
}, 5000);
}
});
将它放在你的MainActivity onCreate方法中,摆脱timerThread。这样,您就可以配置插页式广告,以便在广告加载后显示5秒。
注意:从用户用户体验的角度来看不这样一个好主意,因为您最有可能最终会惹恼您的用户。最佳做法是在自然休息时间展示广告,例如"已完成等级"等
答案 1 :(得分:1)
您 DON' 想要在您的应用中随机(延迟或不延迟)时间显示插页式广告。除非
相反,您应该在应用中选择合适的断点并显示广告。