开发期间的 Admob 广告
Admob Ad's during Development
我怀疑在 development.I 完成所有手续以使我的 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);
但现在广告不会在测试期间出现 运行。这正常吗?
当我最终启动应用程序时广告会起作用吗?
我没有发现您的代码有任何问题,但我在实施 admob 时也发生了类似的事情。
我没想到广告在显示之前必须加载,而且加载可能需要一些时间。如果您尝试显示未加载的广告,可能会显示黑色 activity。
您应该实现一些等待时间或侦听器,以确保添加在显示之前已加载。
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){}
}
因此请记住这一点,如果您希望广告在发生某些事情时立即显示,您应该在该事件发生之前加载它。
我怀疑在 development.I 完成所有手续以使我的 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);
但现在广告不会在测试期间出现 运行。这正常吗?
当我最终启动应用程序时广告会起作用吗?
我没有发现您的代码有任何问题,但我在实施 admob 时也发生了类似的事情。
我没想到广告在显示之前必须加载,而且加载可能需要一些时间。如果您尝试显示未加载的广告,可能会显示黑色 activity。
您应该实现一些等待时间或侦听器,以确保添加在显示之前已加载。
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){}
}
因此请记住这一点,如果您希望广告在发生某些事情时立即显示,您应该在该事件发生之前加载它。