我正在编程我自己的adroid应用程序。 在这个应用程序中,我正在使用OpenGL来处理所有2D图形。 我想实施AdmMob横幅广告赚钱(希望如此;))。每次玩家在模具屏幕中死亡时都会显示横幅,但在玩家正在玩游戏时则不会显示横幅。
问题是:当我整合测试广告时,应用开始滞后,需要一个 加载模具屏幕几秒钟。
要加载和隐藏横幅,我使用以下两种方法:(来自:The Google Developer site)
private void showBanner() {
mAdView.setVisibility(View.VISIBLE);
mAdView.loadAd(adRequest);
}
private void hideBanner() {
mAdView.setVisibility(View.GONE);
}
我的问题是:有人知道我是否可以在开头加载横幅广告:
mAdView.loadAd(AdRequest中)
只显示和隐藏横幅:
private void showBanner() {
mAdView.setVisibility(View.VISIBLE);
}
private void hideBanner() {
mAdView.setVisibility(View.GONE);
}
???????
还是违反了实施指南?
PS:这种方法会更快,因为每次玩家死亡时都不必加载新广告。
答案 0 :(得分:1)
我用来暂停/恢复adView。所以,我会按如下方式更新您的代码:
private void showBanner() {
mAdView.resume();
mAdView.setVisibility(View.VISIBLE);
}
private void hideBanner() {
mAdView.pause();
mAdView.setVisibility(View.GONE);
}
我在我的应用中使用此代码(在GooglePlay中提供),我从未收到过做错事的通知。所以,我认为没有问题。
然而,
检查这个谷歌开发者网站,似乎甚至不需要。所以,也许,你的隐藏代码应该没问题......只是showBanner应该更新以请求一个新的...
https://developers.google.com/admob/android/games
在游戏过程中,您会想要隐藏广告。这可以通过调用这个hideBanner方法来完成:
private void hideBanner() {
adView.setVisibility(View.GONE);
}
游戏结束后,再次调用showBanner方法刷新广告并使其可见。
private void showBanner() {
adView.setVisibility(View.VISIBLE);
adView.loadAd(new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build());
}