admob广告代码参考 安卓 banner广告
来源:互联网 发布:sql培训学校 编辑:程序博客网 时间:2024/05/17 00:52
Add AdView to the layout
The first step toward displaying a banner is to place AdView
in the layout for the Activity
or Fragment
in which you'd like to display it. The easiest way to do this is to add one to the corresponding XML layout file. Here's an example that shows AdView
at the bottom of an Activity
:
main_activity.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
</com.google.android.gms.ads.AdView>
</RelativeLayout>
Note the following required attributes:
ads:adSize
- Set this to the ad size you'd like to use (see the banner size section below for details).ads:adUnitId
- Set this to the unique identifier given to the ad unit in your app where ads are to be displayed. If you show banner ads in different activities, each would require an ad unit.
You can alternatively create AdView
programmatically:
AdView adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
// TODO: Add adView to your view hierarchy.
Always test with test ads
When building and testing your apps, make sure you use test ads rather than live, production ads. Failure to do so can lead to suspension of your account.
The easiest way to load test ads is to use our dedicated test ad unit ID for Android banners:
ca-app-pub-3940256099942544/5224354917
It's been specially configured to return test ads for every request, and you're free to use it in your own apps while coding, testing, and debugging. Just make sure you replace it with your own ad unit ID before publishing your app.
For more information about how the Mobile Ads SDK's test ads work, see Test Ads.
Load an ad
Note: Make all calls to the Mobile Ads SDK on the main thread.Once the AdView is in place, the next step is to load an ad. That's done with the loadAd()
method in the AdView
class. It takes an AdRequest
parameter, which holds runtime information (such as targeting info) about a single ad request.
Here's an example that shows how to load an ad in the onCreate()
method of an Activity
:
MainActivity (excerpt)
package ...
import ...
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
public class MainActivity extends AppCompatActivity {
private AdView mAdView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this,
"ca-app-pub-3940256099942544~3347511713");
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
}
That's it! Your app is now ready to display banner ads.
Ad events
To further customize the behavior of your ad, you can hook onto a number of events in the ad's lifecycle: loading, opening, closing, and so on. You can listen for these events through theAdListener
class.
To use an AdListener
with AdView
, simply call the setAdListener()
method:
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdFailedToLoad(int errorCode) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
@Override
public void onAdLeftApplication() {
// Code to be executed when the user has left the app.
}
@Override
public void onAdClosed() {
// Code to be executed when when the user is about to return
// to the app after tapping on an ad.
}
});
Each of the overridable methods in AdListener
corresponds to an event in the lifecycle of an ad.
onAdLoaded()
The onAdLoaded()
method is executed when an ad has finished loading. If you want to delay adding the AdView
to your activity or fragment until you're sure an ad will be loaded, for example, you can do so here. If you're using a third-party analytics package to track impressions, this is also where you can place the call to record them.onAdFailedToLoad()
The onAdFailedToLoad()
method is the only one that includes a parameter. The errorCode
parameter indicates what type of failure occurred. The possible values are defined as constants in the AdRequest
class:ERROR_CODE_INTERNAL_ERROR
- Something happened internally; for instance, an invalid response was received from the ad server.ERROR_CODE_INVALID_REQUEST
- The ad request was invalid; for instance, the ad unit ID was incorrect.ERROR_CODE_NETWORK_ERROR
- The ad request was unsuccessful due to network connectivity.ERROR_CODE_NO_FILL
- The ad request was successful, but no ad was returned due to lack of ad inventory.
onAdOpened()
This method is invoked when the user taps on an ad. If you're using an analytics package to track clickthroughs, this is a good place to record one.onAdLeftApplication()
This method is invoked after onAdOpened()
, when a user click opens another app (such as the Google Play), backgrounding the current app.onAdClosed()
When a user returns to the app after viewing an ad's destination URL, this method is invoked. Your app can use it to resume suspended activities or perform any other work necessary to make itself ready for interaction. See the AdMob AdListener
example for an implementation of the ad listener methods in the Android API Demo app.Banner sizes
Note: The size of the container in which you place your ad must be at least as big as the banner. If your container has padding, that effectively decreases the size of your container. In the event that the container cannot fit the banner ad, the banner will not appear, and you will get this warning in the logs:W/Ads: Not enough space to show ad. Needs 320x50 dp, but only has 288x495 dp.
The table below lists the supported banner sizes.
BANNER
320x100Large BannerPhones and TabletsLARGE_BANNER
300x250IAB Medium RectanglePhones and TabletsMEDIUM_RECTANGLE
468x60IAB Full-Size BannerTabletsFULL_BANNER
728x90IAB LeaderboardTabletsLEADERBOARD
Screen width x 32|50|90Smart BannerPhones and TabletsSMART_BANNER
Smart Banners
Smart Banners are ad units that render screen-width banner ads on any screen size across different devices in either orientation. Smart Banners help deal with increasing screen fragmentation across different devices by "smartly" detecting the width of the device in its current orientation and making the ad view that size.
Three ad heights are implemented in smart banners:
Typically, Smart Banners on phones have a height of 50 dp in portrait and 32 dp in landscape. On tablets, height is normally 90 dp in both orientations.
When an image ad isn't large enough to take up the entire allotted space, the image will be centered, and the space on either side will be filled in.
To use Smart Banners in XML, specify the constant SMART_BANNER
for the ad size and set the width of the AdView
to match_parent
. For example:
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
</com.google.android.gms.ads.AdView>
To create a Smart Banner programmatically, use AdSize.SMART_BANNER
as the ad size:
AdView adView = new AdView(this);
adView.setAdSize(AdSize.SMART_BANNER);
Additional resources
Samples on GitHub
Minimal implementation of banner ads example: Java | Kotlin
Advanced features demo: Java | Kotlin
Mobile Ads Garage video tutorials
- Banner Implementation
- Banner Best Practices
Next steps
- If you haven't already, create your own app and banner ad unit in the AdMob UI and use your newly created app ID and ad unit ID in your code. Remember to configure your device with test ads.
- Learn about ad targeting and banner ad guidance.
- Try another ad format:
- Interstitial
- Rewarded Video
- Native
- admob广告代码参考 安卓 banner广告
- admob 广告代码参考 iOS banner广告
- admob 广告代码参考 安卓 弹窗广告
- admob 广告代码参考 安卓 奖励视频
- admob 广告代码参考 iOS 奖励视频
- 安卓广告图轮播banner
- admob 广告代码参考 iOS 弹窗广告
- U3D Admob广告代码
- 集成 admob Banner广告出错之一NSInvalidArgumentException
- android安卓 谷歌google admob广告添加
- banner广告轮换显示代码
- 【IOS篇】Cocos2d-x 集成Admob Banner广告
- 集成 admob Banner广告出错之二 _OBJC_CLASS_$_EKEvent
- admob广告布局
- Cocos2dx---------------------添加Admob广告
- Admob广告的添加
- AdMob广告平台
- AdMob广告添加方法
- 掘金最热文章收藏评论分析代码实现(mongodb+express+vue)
- Zookeeper的集群配置和Java测试程序
- 购物车luoji代码
- 原简书博客不再更新,原代码也不再转移
- Okhttp的Get_Poast请求封装
- admob广告代码参考 安卓 banner广告
- 【配置】deploy.sh、runRemoteCmd.sh脚本工具的配置使用
- Js New一个函数和直接调用的区别
- 想在硅谷近距离接触蚂蚁金服的CTO和一众技术高管?这个机会一定不能错过!
- 添加购物车
- 我还是小瞧了三胖!“WannaCry“勒索病毒竟然是朝鲜人干的!
- 数据结构实验之查找三:树的种类统计
- 机器学习之支持向量机SVM Support Vector Machine (二) 非线性SVM模型与核函数
- Freertos学习--3