第一步:引入依賴包
//admob廣告
implementation 'com.google.android.gms:play-services-ads:17.2.0'
第二步:在清單文件中設(shè)置appID
<application
<!-- admob配置 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
<!-- 注意 這里設(shè)置應(yīng)用id 而不是廣告單元id 每個(gè)廣告都有各自獨(dú)立的id -->
android:value="ca-app-pub-xxxxxxxxxxxxxxxxxxxx"/>
</application>
第三步:在布局文件中設(shè)置廣告顯示的具體位置
<!-- 布局中可以設(shè)置廣告單元id 這里考慮到防止反編譯 改成在代碼中設(shè)置-->
<com.google.android.gms.ads.AdView xmlns:ads="https://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
ads:adSize="SMART_BANNER"
></com.google.android.gms.ads.AdView>
第四步:初始化Admob
// 初始化Admob 這個(gè)地方填appid 注意
MobileAds.initialize(this, "ca-app-pub-xxxxxxxxxxxxxxxxxxxx");
第五步: 在對應(yīng)的Activity或Fragment中設(shè)置廣告顯示
private static final String AD_UNIT_ID = "ca-app-pub-xxxxxxxxxxxxxxxxxxxx";
private void initAdmob() {
mAdView = findViewById(R.id.adView);
mAdView.setAdUnitId(AD_UNIT_ID);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
//廣告加載完成后,系統(tǒng)會(huì)執(zhí)行 onAdLoaded() 方法。
// 如果您想延遲向 Activity 或 Fragment 中添加AdView的操作(例如,延遲到您確定廣告會(huì)加載時(shí)),可以在此處進(jìn)行。
}
@Override
public void onAdFailedToLoad(int errorCode) {
// Code to be executed when an ad request fails.
//onAdFailedToLoad() 是唯一包含參數(shù)的方法。errorCode 參數(shù)會(huì)指明發(fā)生了何種類型的失敗。系統(tǒng)將這些可能的類型值定義為AdRequest類中的如下常量:
//ERROR_CODE_INTERNAL_ERROR - 內(nèi)部出現(xiàn)問題;例如,收到廣告服務(wù)器的無效響應(yīng)。
//ERROR_CODE_INVALID_REQUEST - 廣告請求無效;例如,廣告單元 ID 不正確。
//ERROR_CODE_NETWORK_ERROR - 由于網(wǎng)絡(luò)連接問題,廣告請求失敗。
//ERROR_CODE_NO_FILL - 廣告請求成功,但由于缺少廣告資源,未返回廣告。
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
//此方法會(huì)在用戶點(diǎn)按廣告時(shí)調(diào)用。
}
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdLeftApplication() {
// Code to be executed when the user has left the app.
//此方法會(huì)于 onAdOpened() 之后在用戶點(diǎn)擊打開其他應(yīng)用(例如,Google Play)時(shí)調(diào)用,從而在后臺(tái)運(yùn)行當(dāng)前應(yīng)用。
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
//在用戶查看廣告的目標(biāo)網(wǎng)址后返回應(yīng)用時(shí),會(huì)調(diào)用此方法。應(yīng)用可以使用此方法恢復(fù)暫停的活動(dòng),或執(zhí)行任何其他必要的操作,以做好互動(dòng)準(zhǔn)備。
// 有關(guān) Android API Demo 應(yīng)用中廣告監(jiān)聽器方法的實(shí)現(xiàn)方式,請參閱 AdMob AdListener 示例。
}
});
}