出现广告响应 Admob 错误
There was a getting an ad response Admob Error
我想将一个源代码从旧的 GoogleAds SDK
更新到新的 Google Play Service Library
,但是有一个问题。每次我收到这个错误:
获得广告响应时出现问题。
ErrorCode: 0
Failed to load ad:0
这是来自 playactivty 的代码:
public String BANNER_AD_UNIT_ID;
AdRequest adRequest;
private void LoadAds()
{
LinearLayout layout = (LinearLayout) findViewById(R.id.adView);
this.BANNER_AD_UNIT_ID = getResources().getString(R.string.admob_id);
// Create the adView
AdView adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(BANNER_AD_UNIT_ID);
// Add the adView to it
layout.addView(adView);
// Initiate a generic request to load it with an ad
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
// AdRequest.setTesting(true);
adView.loadAd(adRequest);
}
从 layout.xml
</RelativeLayout>
<com.google.android.gms.ads.AdView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="@string/admob_id">
</com.google.android.gms.ads.AdView>
<LinearLayout
android:orientation="horizontal"
android:id="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</LinearLayout>
我哪里做错了?找不到问题,相信我,我阅读了所有关于该错误的 SOF 帖子:)
非常感谢!
编辑:
原代码:
PlayActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play);
LoadConfigParams();
LoadSharedPreferences();
LoadResources();
LoadListeners();
LoadStage(mCurStage);
LoadAds();
}
private void LoadAds()
{
LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayoutAdmob);
// Create the adView
AdView adView = new AdView(this, AdSize.SMART_BANNER, getResources().getString(R.string.admob_id));
// Add the adView to it
layout.addView(adView);
// Initiate a generic request to load it with an ad
AdRequest request = new AdRequest();
request.setTesting(true);
adView.loadAd(request);
}
activity_play.xml
(只有最后一个LinearLayout代码,上面是RelativeLayout)。
<LinearLayout
android:id="@+id/linearLayoutAdmob" android:layout_width="fill_parent"
android:layout_height="wrap_content"></LinearLayout>
有两种方法可以通过 java
或 xml
创建 Admob
添加,最简单的方法(尽管两者都很简单)是 xml
。另外如果你使用 SMART_BANNER
你将得到不同尺寸的添加,如果尺寸不 fit/match 剩余屏幕 space 你的 RelativeLayout
已经离开 LinearLayout
您的添加将不会显示。所以我假设你已经处理好了
<LinearLayout
android:id="@+id/linearLayoutAdmob"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<com.google.android.gms.ads.AdView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"
android:id="@+id/myaddview"
ads:adUnitId="@string/admob_id">
</LinearLayout>
然后在你的 loadAds()
AdView adView = findViewById(R.id.myaddview); //add the cast
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
adView.loadAd(adRequest);
这就是您需要的全部检查 以了解要导入的内容并仔细检查您的权限
MobileAds.initialize(这个);
适合我
我想将一个源代码从旧的 GoogleAds SDK
更新到新的 Google Play Service Library
,但是有一个问题。每次我收到这个错误:
获得广告响应时出现问题。
ErrorCode: 0
Failed to load ad:0
这是来自 playactivty 的代码:
public String BANNER_AD_UNIT_ID;
AdRequest adRequest;
private void LoadAds()
{
LinearLayout layout = (LinearLayout) findViewById(R.id.adView);
this.BANNER_AD_UNIT_ID = getResources().getString(R.string.admob_id);
// Create the adView
AdView adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(BANNER_AD_UNIT_ID);
// Add the adView to it
layout.addView(adView);
// Initiate a generic request to load it with an ad
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
// AdRequest.setTesting(true);
adView.loadAd(adRequest);
}
从 layout.xml
</RelativeLayout>
<com.google.android.gms.ads.AdView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="@string/admob_id">
</com.google.android.gms.ads.AdView>
<LinearLayout
android:orientation="horizontal"
android:id="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</LinearLayout>
我哪里做错了?找不到问题,相信我,我阅读了所有关于该错误的 SOF 帖子:)
非常感谢!
编辑:
原代码:
PlayActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play);
LoadConfigParams();
LoadSharedPreferences();
LoadResources();
LoadListeners();
LoadStage(mCurStage);
LoadAds();
}
private void LoadAds()
{
LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayoutAdmob);
// Create the adView
AdView adView = new AdView(this, AdSize.SMART_BANNER, getResources().getString(R.string.admob_id));
// Add the adView to it
layout.addView(adView);
// Initiate a generic request to load it with an ad
AdRequest request = new AdRequest();
request.setTesting(true);
adView.loadAd(request);
}
activity_play.xml
(只有最后一个LinearLayout代码,上面是RelativeLayout)。
<LinearLayout
android:id="@+id/linearLayoutAdmob" android:layout_width="fill_parent"
android:layout_height="wrap_content"></LinearLayout>
有两种方法可以通过 java
或 xml
创建 Admob
添加,最简单的方法(尽管两者都很简单)是 xml
。另外如果你使用 SMART_BANNER
你将得到不同尺寸的添加,如果尺寸不 fit/match 剩余屏幕 space 你的 RelativeLayout
已经离开 LinearLayout
您的添加将不会显示。所以我假设你已经处理好了
<LinearLayout
android:id="@+id/linearLayoutAdmob"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<com.google.android.gms.ads.AdView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"
android:id="@+id/myaddview"
ads:adUnitId="@string/admob_id">
</LinearLayout>
然后在你的 loadAds()
AdView adView = findViewById(R.id.myaddview); //add the cast
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
adView.loadAd(adRequest);
这就是您需要的全部检查
MobileAds.initialize(这个);
适合我