22

如何使用代码创建 admob 智能横幅?我的布局完全是用代码构建的。

4

2 回答 2

27

您可以或多或少地这样做:

LinearLayout adContainer = <container>;
AdView adView = new AdView(activity)
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId(<your-publisher-id>);

// Initiate a generic request to load it with an ad
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
adView.loadAd(adRequest);

// Place the ad view.
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
adContainer.addView(adView, params);

干杯

于 2013-04-11T16:45:09.367 回答
0

将此添加到您的活动中

//Add this in OnCreate of Activity to initialize the ad
MobileAds.initialize(getApplicationContext(), "< your-ad-unit-Id >");
//Add this wherever your code needs to add the ad

LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);

//Additionally to adjust the position to Bottom
layout.setGravity(Gravity.BOTTOM);

// Create a banner ad
mAdView = new AdView(this);
mAdView.setAdSize(AdSize.SMART_BANNER);
mAdView.setAdUnitId("<your-ad-unit-Id>");

// Create an ad request.
AdRequest.Builder adRequestBuilder = new AdRequest.Builder();

// Optionally populate the ad request builder.
adRequestBuilder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR);

// Add the AdView to the view hierarchy.
layout.addView(mAdView);

// Start loading the ad.
mAdView.loadAd(adRequestBuilder.build());

setContentView(layout);

然后检查您是否已在Manifest中授予权限

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

在Manifest的 <application> 里面添加下面的元数据

<meta-data android:name="com.google.android.gms.version"
           android:value="@integer/google_play_services_version" />

最后检查您是否添加了在app gradle中编译所需的依赖项

compile 'com.google.android.gms:play-services:9.6.1'


于 2017-04-07T13:27:25.170 回答