我正在我的应用程序中集成Admob Native express广告。我想让它显示在所有尺寸的设备上。在小型设备中,由于广告尺寸,它无法展示。我的添加是在listview和gridView中。 请建议我,如何在每种尺寸的设备上加载。即使我试图动态设置大小,但对我来说也不起作用。
提前致谢。
答案 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);
}