Android开发,接入google admob的开屏广告,插页广告和原生广告的代码
时间: 2024-02-20 12:56:58 浏览: 322
接入Google AdMob的开屏广告、插页广告和原生广告的步骤如下:
1. 注册AdMob账号并创建广告单元
在AdMob网站上注册账号并创建广告单元,获取相应的广告单元ID。
2. 集成AdMob SDK
在应用的build.gradle文件中添加依赖项:
```
implementation 'com.google.android.gms:play-services-ads:20.2.0'
```
在应用的AndroidManifest.xml文件中添加以下权限:
```
<uses-permission android:name="android.permission.INTERNET" />
```
3. 显示开屏广告
在应用的启动Activity中添加以下代码:
```
private static final String AD_UNIT_ID = "替换为你的开屏广告单元ID";
private CountDownTimer countDownTimer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
MobileAds.initialize(this);
FrameLayout adContainer = findViewById(R.id.ad_container);
AdView adView = new AdView(this);
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId(AD_UNIT_ID);
adContainer.addView(adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
countDownTimer = new CountDownTimer(5000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
Log.d(TAG, "onTick: " + millisUntilFinished / 1000);
}
@Override
public void onFinish() {
jumpToMainActivity();
}
}.start();
}
@Override
protected void onDestroy() {
super.onDestroy();
if (countDownTimer != null) {
countDownTimer.cancel();
countDownTimer = null;
}
}
private void jumpToMainActivity() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
```
其中,AD_UNIT_ID替换为你的开屏广告单元ID,R.layout.activity_splash是你的启动Activity的布局文件,包含一个FrameLayout用于显示广告。
4. 显示插页广告
在需要显示插页广告的Activity中添加以下代码:
```
private static final String AD_UNIT_ID = "替换为你的插页广告单元ID";
private InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this);
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(AD_UNIT_ID);
interstitialAd.loadAd(new AdRequest.Builder().build());
// 点击按钮时显示广告
findViewById(R.id.btn_show_ad).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
}
}
});
// 监听广告加载状态
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
Log.d(TAG, "onAdLoaded");
}
@Override
public void onAdFailedToLoad(LoadAdError loadAdError) {
Log.d(TAG, "onAdFailedToLoad: " + loadAdError.getMessage());
}
@Override
public void onAdOpened() {
Log.d(TAG, "onAdOpened");
}
@Override
public void onAdClicked() {
Log.d(TAG, "onAdClicked");
}
@Override
public void onAdClosed() {
Log.d(TAG, "onAdClosed");
interstitialAd.loadAd(new AdRequest.Builder().build());
}
@Override
public void onAdImpression() {
Log.d(TAG, "onAdImpression");
}
});
}
```
其中,AD_UNIT_ID替换为你的插页广告单元ID,R.layout.activity_main是你的Activity的布局文件,包含一个按钮用于触发显示广告。
5. 显示原生广告
在需要显示原生广告的Activity中添加以下代码:
```
private static final String AD_UNIT_ID = "替换为你的原生广告单元ID";
private NativeExpressAdView nativeExpressAdView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MobileAds.initialize(this);
nativeExpressAdView = findViewById(R.id.ad_view);
nativeExpressAdView.setAdSize(new AdSize(320, 150));
nativeExpressAdView.setAdUnitId(AD_UNIT_ID);
AdRequest adRequest = new AdRequest.Builder().build();
nativeExpressAdView.loadAd(adRequest);
// 监听广告加载状态
nativeExpressAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
Log.d(TAG, "onAdLoaded");
}
@Override
public void onAdFailedToLoad(LoadAdError loadAdError) {
Log.d(TAG, "onAdFailedToLoad: " + loadAdError.getMessage());
}
@Override
public void onAdOpened() {
Log.d(TAG, "onAdOpened");
}
@Override
public void onAdClicked() {
Log.d(TAG, "onAdClicked");
}
@Override
public void onAdClosed() {
Log.d(TAG, "onAdClosed");
}
@Override
public void onAdImpression() {
Log.d(TAG, "onAdImpression");
}
});
}
```
其中,AD_UNIT_ID替换为你的原生广告单元ID,R.layout.activity_main是你的Activity的布局文件,包含一个NativeExpressAdView用于显示广告。需要在布局文件中添加以下代码:
```
<com.google.android.gms.ads.NativeExpressAdView
android:id="@+id/ad_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adSize="320x150"
ads:adUnitId="替换为你的原生广告单元ID"
ads:loadAdOnCreate="true" />
```
以上就是接入Google AdMob的开屏广告、插页广告和原生广告的示例代码,希望能帮助到你。
阅读全文
相关推荐


















