我怀疑天气是不是可以在开发过程中点击实时广告。我做了所有手续让我的admob广告正常工作。然后我看到我们应该只在开发过程中使用测试添加。所以我使用了这段代码:
AdRequest request = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR) // All emulators
.addTestDevice("AC98C820A50B4AD8A2106EDE96FB87D4") // An example device ID
.build();
工作得很好。但后来我改回到现场广告代码,担心我以后会忘记这样做:
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
但现在广告不会在试运行期间出现。这是正常的吗?
当我最终推出应用时广告是否有效?
答案 0 :(得分:0)
我没有看到你的代码有什么问题,但是在实现admob时也发生了类似的事情。
我没有计算广告必须在展示之前加载,并且加载可能需要一些时间。如果您尝试展示未加载的广告,则可能会显示黑色活动。
你应该实现一些等待时间或一个监听器,以确保在显示之前加载了这个。
public InterstitialAd interstitialAd;
[...]
public void setNewInterstitialRequest()
{
interstitialAd = new InterstitialAd(CurrActivity.this);
interstitialAd.setAdUnitId("ca-app-pub-***************************");
AdRequest adRequest = new AdRequest.Builder()
//.addTestDevice("ZY22247DJV")
.build();
// Begin loading your interstitial.
interstitialAd.loadAd(adRequest);
//add listener so you know is fully loaded
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
[...] // <- code you want to execute as soon as the ad is loaded
}
});
}
public void displayAd() {
try {
//verify is loaded before showing a black screen
if (interstitialAd.isLoaded()) {
interstitialAd.show();
}
//else
// showToast("Not loaded");
}
catch (Exception ex){}
}
因此,考虑到这一点,如果您希望在某些事情发生时立即显示广告,您应该在该事件发生之前加载它。