制作Admob Native表达广告动态

时间:2016-06-25 14:09:47

标签: android admob

我正在我的应用程序中集成Admob Native express广告。我想让它显示在所有尺寸的设备上。在小型设备中,由于广告尺寸,它无法展示。我的添加是在listview和gridView中。      请建议我,如何在每种尺寸的设备上加载。即使我试图动态设置大小,但对我来说也不起作用。

提前致谢。

1 个答案:

答案 0 :(得分:6)

我使用以下代码取得了成功:

private LinearLayout mAdContainer;
private NativeExpressAdView mAdmobAdView;
private AdRequest mAdmobAdRequest;

[...]

private void loadAds() {
    // find out the width of the device in dp
    DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
    float deviceWidthInDp = displayMetrics.widthPixels / displayMetrics.density;

    int adWidth = (int)(deviceWidthInDp);

    if (mAdmobAdView != null) {
      // prevents a crash on older devices
      mAdmobAdView.clearAnimation();
    }
    mAdContainer.removeAllViews();
    mAdmobAdView = new NativeExpressAdView(this);
    mAdmobAdView.setAdSize(new AdSize(adWidth, 250)); // AdSize(width, height), height ranges from 80 to 1200
    mAdContainer.addView(mAdmobAdView);
    mAdmobAdView.setAdUnitId(getString(R.string.admob_id)); // set your admob id
    mAdmobAdRequest = new AdRequest.Builder()
            .build();
    mAdmobAdView.loadAd(mAdmobAdRequest);
}

编辑:感谢fattire指出在删除视图之前清除动画以防止旧设备崩溃(请参阅here