admob nativeexpressads拒绝出现在实际的android设备上

n3ipq98p  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(483)

我正在尝试在android应用程序中显示admob nativeexpressads。
示例广告显示在模拟器,我觉得一切似乎都很好。
然而,在真正的android设备上进行实际测试时,无论我是否设置了addtestdevice(“…”),广告都拒绝出现。
我的代码是:

public NativeExpressAdView getNativeExpressAdView(Activity activity) {
    NativeExpressAdView adView = new NativeExpressAdView(activity);
    adView.setAdListener(new TestAdListener(adView));
    adView.setAdSize(new AdSize(adWidth, adHeight));
    adView.setAdUnitId(adUnitID);
    AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
    //adRequestBuilder.addTestDevice("187AE74C3A6B5BA1B5E94A46EC9FD3F6");
    adView.loadAd(adRequestBuilder.build());
    return adView;
}

注意:adwidth和ADHWEIGHT与admob adunit中设置的完全相同。
以及:

...

    @Override
    public void onAdLoaded() {
        super.onAdLoaded();
        Log.i("I/Ads", "onAdLoaded");
    }

是的,onadloaded确实被称为。
我也试过这个,但没用。我也研究了许多其他材料,但没有一种是有效的。
编辑:我进一步调试并发现此错误:09-04 13:53:46.204 2502-2502/com.swars.android w/ads:没有足够的空间显示广告。需要360x100 dp,但只有320x0 dp。
大小与admob adunit中设置的大小相同。所以,看来我应该让它变小。然而,这个错误有一个谜,因为它说高度是0(320x0dp)。有人能帮我解释一下吗?

mm9b1k5b

mm9b1k5b1#

配置relativelayer,以便:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 ...
 android:paddingLeft="0dp"
 android:paddingRight="0dp"
 ...
>

查看配置到:

<com.google.ads.AdView
android:id="@+id/adMobadView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
...
/>

来源

相关问题