我正在尝试将一些Admob广告添加到我的应用中。到目前为止,我已将以下代码添加到onCreate
方法中。
long previousAdShown = this.prefs.getLong("last_ad_shown", 0);
long now = new Date().getTime();
if (Constants.ADMOB_ENABLE && (previousAdShown < now - Constants.ADMOB_INTERVAL))
{
Log.e("ADMOB", "Load ADMOB");
// Load ad view
this.adView = new InterstitialAd(this);
this.adView.setAdUnitId(Constants.ADMOB_ID);
AdRequest.Builder adRequest = new AdRequest.Builder();
adRequest.addTestDevice("31090DB31C8059FC6EF0FDA2XXXXXXXX");
this.adView.loadAd(adRequest.build());
// Update timer
this.prefs.edit().putLong("last_ad_shown", now).commit();
}
应该预加载广告。
然后,在我的菜单中,我得到了类似的东西:
this.menu_me_feed_layout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view)
{
if (adView != null && adView.isLoaded())
{
adView.show();
adView.setAdListener(new AdListener() {
@Override
public void onAdClosed()
{
Intent intent = new Intent(LeftMenu.this.activity, UserFeedActivity.class);
intent.putExtra("isForUser", false);
LeftMenu.this.activity.startActivity(intent);
LeftMenu.this.activity.finish();
}
});
}
else
{
Intent intent = new Intent(LeftMenu.this.activity, UserFeedActivity.class);
intent.putExtra("isForUser", false);
LeftMenu.this.activity.startActivity(intent);
LeftMenu.this.activity.finish();
}
}
});
如果之前已加载广告,则基本上会显示广告。
我收到两个错误:
03-26 20:44:37.437: E/GooglePlayServicesUtil(28151): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
根据Admob文档,这不是阻塞错误。
03-26 20:44:59.242: W/Ads(28151): Timed out waiting for ad response.
03-26 20:44:59.252: W/dalvikvm(28151): disableGcForExternalAlloc: false
03-26 20:44:59.257: W/Ads(28151): Failed to load ad: 2
我不明白为什么我收到这些错误,因为AdUnitId
是正确的。
有什么想法吗?
感谢您的帮助。
答案 0 :(得分:2)
第一个错误是良性的,可以忽略。
第二个表明您没有良好的网络连接,或者Admob服务器处于极端负载(不太可能)。确保您有良好的网络连接,然后重试。