Tích Hợp Quảng Cáo Admob vào Ứng Dụng Android
Các loại quảng cáo AdMob
AdMob hỗ trợ trong Android dưới 2 dạng đó là:
- Banner ads: hiển thị 1 phần ở trên hoặc dưới màn hình.
- Interstitial ads: dạng quảng cáo toàn màn hình.


Ad Units
Ứng với mỗi loại quảng cáo Banner hay Interstitial sẽ có 1 đơn vị quảng cáo gọi là Ad unit, mỗi Ad unit sẽ có 1 id định danh. Để tích hợp quảng cáo vào ứng dụng phải tạo đơn vị quảng cáo trên trang chủ AdMob.
Bạn đang xem: Chèn quảng cáo vào ứng dụng android
Tạo Banner Ad unit
Bước 1: tạo 1 tài khoản AdMob nếu chưa có tại: https://apps.admob.com
Bước 2: chọn sang tab Monetize và nhấn vào Monetize new app

Bước 3: nhập tên App và chọn nền tảng tích hợp quảng cáo nền tảng (ở đây chọn Android) và nhấn Add app.

Bước 4: chọn loại quảng cáo và nhập tên quảng cáo, tên này dùng để quản lý sau khi gắn quảng cáo để xem số lượt xem, số lượt nhấp chuột và nhấn Save.

Bước 5: đăng kí thành công sẽ thấy 1 chuỗi dài như dưới đây, đó là id của Ad unit dùng để tích hợp vào ứng dụng.

Tạo Interstitial Ad unit
Tạo tiếp 1 loại quảng cáo là Interstitial ads:

Tiếp theo, tiến hành tích hợp quảng cáo vào ứng dụng Android sau khi đã tạo thành công các Ad units.
Tích hợp AdMob vào ứng dụng Android
Tạo 1 project có tên là AdModAds:

tham khảo: 10 cách sạc pin nhanh cho điện thoại, giúp tăng tốc độ sạc pin mà vẫn an toàn
Tiếp theo, mở file build-gradle (Module: app) và thêm dòng dưới đây vào trong dependencies:
compile ‘com.google.android.gms:play-services-ads:9.0.0’
Nhấn Sync Now để Android Studio tải thư viện và tiến hành cài đặt:

Tạo thêm 1 Activity, tên là FullAdsActivity để hiển thị quảng cáo dạng toàn màn hình Interstitial.
Ở MainActivity hiển thị quảng cáo dạng Banner ở phía dưới và 1 button để mở FullAdsActivity .
Vì việc tải quảng cáo cần sử dụng internet nên phải cấp quyền truy cập internet trong file manifest.xml như sau:
<?xml version=”1.0″ encoding=”utf-8″?> <manifest xmlns:android=”http://schemas.android.com/apk/res/android” package=”com.example.nguyennghia.admobads”> <uses-permission android:name=”android.permission.INTERNET” /> <uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” /> <application android:allowBackup=”true” android:icon=”@mipmap/ic_launcher” android:label=”@string/app_name” android:supportsRtl=”true” android:theme=”@style/AppTheme”> <activity android:name=”.MainActivity”> <intent-filter> <action android:name=”android.intent.action.MAIN” /> <category android:name=”android.intent.category.LAUNCHER” /> </intent-filter> </activity> <activity android:name=”.FullAdsActivity”></activity> </application> </manifest>
Thêm Ad unit vừa mới tạo ở trên vào thư mục string.xml trong values:
<resources> <string name=”app_name”>AdMobAds</string> <!-Ad unit-> <string name=”ad_unit_banner”>ca-app-pub-8567317612161629/1489835995</string> <string name=”ad_unit_full”>ca-app-pub-8567317612161629/2966569195</string> </resources>
Hiển thị Banner Ads
Trong file activity_main.xml khai báo 1 AdView như sau:
<?xml version=”1.0″ encoding=”utf-8″?> <RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android” xmlns:ads=”http://schemas.android.com/apk/res-auto” xmlns:tools=”http://schemas.android.com/tools” android:layout_width=”match_parent” android:layout_height=”match_parent” tools:context=”com.example.nguyennghia.admobads.MainActivity”> <Button android:text=”Open InterstitialAds” android:layout_centerInParent=”true” android:id=”@+id/btn_open_interstitial_ads” android:layout_width=”wrap_content” android:layout_height=”wrap_content” /> <com.google.android.gms.ads.AdView android:id=”@+id/av_banner” android:layout_alignParentBottom=”true” android:layout_centerHorizontal=”true” ads:adSize=”SMART_BANNER” ads:adUnitId=”@string/ad_unit_banner” android:layout_width=”wrap_content” android:layout_height=”wrap_content”> </com.google.android.gms.ads.AdView> </RelativeLayout>
Với Adsize sẽ có những hằng sau đây:
Smart Banners sẽ căn theo chiều cao của thiết bị, để xác định chiều cao của AdView.
Nếu tạo bằng mã Java:
AdView adView = new AdView(this); adView.setAdSize(AdSize.SMART_BANNER); adView.setAdUnitId(“ca-app-pub-8567317612161629/1489835995”);
tại đây: Cách cài định vị giữa 2 điện thoại đơn giản bạn biết chưa?
File MainActivity.java
package com.example.nguyennghia.admobads; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import com.google.android.gms.ads.AdListener; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; import com.google.android.gms.ads.InterstitialAd; public class MainActivity extends AppCompatActivity { private static final String TAG = “MainActivity”; private AdView avBanner; private AdRequest adRequest; private Button btnOpenInterstitialAd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnOpenInterstitialAd = (Button)findViewById(R.id.btn_open_interstitial_ads); avBanner = (AdView)findViewById(R.id.av_banner); adRequest = new AdRequest.Builder().build(); // LLoad ads avBanner.loadAd(adRequest); btnOpenInterstitialAd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, FullAdsActivity.class); startActivity(intent); } }); } }
1 số Event của AdView
avBanner.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. } });
onAdLoaded()
onAdLoaded() là phương thức được gọi ngay sau khi quảng cáo được tải xong.
onAdFailedToLoad()
onAdFailedToLoad() là phương thức được gọi khi yêu cầu quảng cáo không thành công, có thể yêu cầu lại quảng cáo mới.
onAdOpened()
onAdOpened() là phương thức được gọi khi người dùng nhấp chuột vào quảng cáo.
onAdLeftApplication()
onAdLeftApplication() là phương thức được gọi ngay sau khi onAdOpened() được gọi. Activity hiển thị quảng cáo được mở lên.
onAdClosed()
onAdClosed() là phương thức được gọi khi người dùng trở lại từ Activity quảng cáo.
Load Ads Interstitial
package com.example.nguyennghia.admobads; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import com.google.android.gms.ads.AdListener; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.InterstitialAd; public class FullAdsActivity extends AppCompatActivity { private static final String TAG = “FullAdsActivity”; private InterstitialAd interstitialAd; private AdRequest adRequest; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_full_ads); interstitialAd = new InterstitialAd(this); interstitialAd.setAdUnitId(getResources().getString(R.string.ad_unit_full)); interstitialAd.setAdListener(new AdListener() { @Override public void onAdLoaded() { super.onAdLoaded(); Log.i(TAG, “onAdLoaded: “); interstitialAd.show(); } @Override public void onAdOpened() { super.onAdOpened(); Log.i(TAG, “onAdOpened: “); } @Override public void onAdLeftApplication() { super.onAdLeftApplication(); Log.i(TAG, “onAdLeftApplication: “); } @Override public void onAdFailedToLoad(int i) { super.onAdFailedToLoad(i); Log.i(TAG, “onAdFailedToLoad: “); } @Override public void onAdClosed() { super.onAdClosed(); Log.i(TAG, “onAdClosed: “); } }); adRequest = new AdRequest.Builder().build(); interstitialAd.loadAd(adRequest); } }
Quảng cáo Banner thì Interstitial không cần khởi tạo View mà chỉ sử dụng lớp InterstitialAd sau đó đặt AdUnitId và sử dụng AdRequest để tải quảng cáo như quảng cáo Banner.
Nếu ứng dụng đang kiểm tra quảng cáo thì nên khởi tạo AdRequest như sau:
new AdRequest.Builder().addTestDevice(“SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID”).build();
Với id được lấy ở LogCat như hình dưới đây:

Do đó AdRequest trong ví dụ là:
adRequest = new AdRequest.Builder().addTestDevice(“9D50B2710767A863E237BDB4FC17C196”).build();
Kết quả sau khi chạy app với chế độ kiểm tra quảng cáo:
đang hot: TOP 11 app quản lý ảnh tốt nhất, hiệu quả nhất trên Android
Tải project demo
- Tải trực tiếp: AdMobAdsWorking-master.zip
- Tải từ Github.