我正在编写我自己的 android 应用程序。 在此应用程序中,我对所有 2D 图形使用 OpenGL。 我想实现 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:此方法会更快,因为它不必在每次玩家死亡时加载新广告。
最佳答案
我用来暂停/恢复 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());
}
关于android - 显示和隐藏 AdMob 横幅以获得更好的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35241265/