NativeExpressAdView adSize SMART_BANNER

时间:2017-10-15 02:05:02

标签: android admob

我在应用布局中有AdMob块,如

<android.support.constraint.ConstraintLayout ...>

...

<com.google.android.gms.ads.NativeExpressAdView
    android:id="@+id/ad"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    app:adSize="350x100"
    app:adUnitId="ca-app-pub-..."
    app:layout_constraintTop_toBottomOf="@+id/refresh"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent" />

</android.support.constraint.ConstraintLayout>

在主要活动中,还有AdMob初始化代码:

MobileAds.initialize(this, "ca-app-pub-...");
NativeExpressAdView adView = (NativeExpressAdView) findViewById(R.id.ad);
// adView.setAdSize(AdSize.SMART_BANNER);
// adView.setAdUnitId("ca-app-pub-...");
AdRequest request = new AdRequest.Builder()
    .addTestDevice(...)
    .build();
adView.loadAd(request);

如果在布局XML中设置app:adSize="350x100",则会显示广告块。 但是,当我尝试设置app:adSize="SMART_BANNER"时,错过了广告块,日志中出现错误消息:

  

收到错误HTTP响应代码:403

如果我删除&#34; app:adSize&#34;和&#34; app:adUnitId&#34;从XML中以编程方式在Activity中设置,在上面的代码中取消注释行

...
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId("ca-app-pub-...");
..

广告块显示在内部错误消息:

  

必需的XML属性&#34; adSize&#34;失踪了。

如何将广告尺寸设置为SMART_BANNER值?

1 个答案:

答案 0 :(得分:0)

app:adSize =“SMART_BANNER”用于横幅广告,不用于原生广告。您必须提供原生广告的尺寸。

您可以将原生广告视图的宽度设置为match_parent,以便在任何设备上都可以。