Hướng dẫn tích hợp quảng cáo admob vào ứng dụng trên android

1.AdMob là gì ?

AdMob là nền tảng quảng cáo trên thiết bị di động cung cấp dịch vụ cho các nhà quảng cáo, nhà xuất bản, đại lý và nhà phát triển ứng dụng. Trang này bao gồm các chính sách áp dụng cụ thể cho các nhà quảng cáo muốn quảng cáo trên nền tảng AdMob.

Khi bạn chơi games hoặc mở các ứng dụng tải về từ Apple Store, CH Play, Window Phone Store bạn sẽ thấy quảng cáo hiển thị ra dạng video, banner hoặc full screen.

Google Admob thực chất là quảng cáo Adsense, chẳng qua là nó là chương trình chỉ hiển thị quảng cáo trên các phần mềm di động nên gọi tên là Admob cho nó có phân biệt, người dùng có ứng dụng sẽ đăng ký tài khoản Google Adsense và chọn vào mục Admob để tham gia và nhúng vào phần mềm của mình, với các game đơn giản thì cũng không thu nhập bao nhiêu, nhưng vì nhóm các ổng chuyên sản xuất ra thật nhiều các ứng dụng nên cũng tàm tạm.

Ngoài ra Google Admob cho phép sử dụng Firebase Analytics
Liên kết (các) ứng dụng AdMob với Firebase  chia sẻ dữ liệu của bạn từ công cụ Firebase Analytics miễn phí với AdMob để cải thiện việc kiếm tiền từ ứng dụng và mức độ tương tác của người dùng.

2.Các loại quảng cáo AdMob

AdMob được hỗ trợ trong Android dưới 3 dạng đó là Banner và Interstitial (dạng quảng cáo fullscreen) và quảng cáo của bên thử 3.

huong-dan-them-quang-cao-admob-vao-ung-dung-android

3.Tạo tài khoản AdMob

  • Tạo một tài khoản AdMob có tại: https://apps.admob.com
  • Chọn sang tab Kiếm tiền và nhấn vào Thêm một app mới

huong-dan-them-quang-cao-admob-vao-ung-dung-android-2

  • 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 tôi chọn Android). Và nhấn Thêm Ứng Dụnghuong-dan-them-quang-cao-admob-vao-ung-dung-android-3
  • Chọn loại quảng cáo vào nhập tên quảng cáo (tên này bạn dùng để quản lý sau khi gắn quảng cáo để xem số lượt view, số lượt click) và nhấn Lưu.

huong-dan-them-quang-cao-admob-vao-ung-dung-android-4

  • Kiểm tra ID quảng cáo.

huong-dan-them-quang-cao-admob-vao-ung-dung-android-5

4.Tích hợp quảng cáo vào Android

Bước 1: Tạo project như bình thường.

Bước 2: Mở build.gradle thêm các phụ thuộc.

compile 'com.google.android.gms:play-services-ads:10.0.0'

huong-dan-them-quang-cao-admob-vao-ung-dung-android-6

Bước 3. Tạo giao diện đơn giản như sau:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.androidcoban.demoadmob.MainActivity">

    <com.google.android.gms.ads.AdView
        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="@string/banner_ad_unit_id">
    </com.google.android.gms.ads.AdView>

    <Button
        android:text="Show Interstitial"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="210dp"
        android:id="@+id/btnShowAds" />
</RelativeLayout>

Bước 4: Add Mã quảng cáo vào file String.xml

<resources>
    <string name="app_name">DemoAdMob</string>

    <string name="banner_ad_unit_id">ca-app-pub-7122992364980774/XXXXX</string>
    <string name="interstitial_id">ca-app-pub-7122992364980774/XXXX1</string>
</resources>

Bước 5: Tại ActivityMain.java

Ở đây khi mở ứng dụng lên, quảng cáo full màn hình sẽ được tải sẵn, khi đó chỉ cần bấm vào button là quảng cáo xuất hiện.
Mình có comment kỹ càng trong code, các bạn có thể xem thêm.

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity";

    //Admob
    private AdView mAdView;
    private InterstitialAd mInterstitialAd;
    private Button btnInterstitial;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnInterstitial = (Button) findViewById(R.id.btnShowAds);
        mAdView =(AdView)findViewById(R.id.adView);
       //Load ads
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);

        //Nếu quảng cáo đã tắt tiến hành load quảng cáo
        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId(getString(R.string.interstitial_id));
        mInterstitialAd.setAdListener(new AdListener() {

            @Override
            public void onAdClosed() {
                loadInterstitialAd();
            }
        });

        // Hiện quảng cáo khi bấm button
        btnInterstitial.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mInterstitialAd.show();
            }
        });
        //Load sẵn quảng cáo khi ứng dụng mở
        loadInterstitialAd();
    }
    
    //Load InterstitialAd
    private void loadInterstitialAd() {
        if (mInterstitialAd != null) {
            AdRequest adRequest = new AdRequest.Builder()
                    .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                    .build();

            mInterstitialAd.loadAd(adRequest);
        }

    }
}

Để quảng cáo chạy tốt chúng ta cần xử lý các sự kiện của activity.

    @Override
    protected void onResume() {
        super.onResume();
        if (mAdView != null) {
            mAdView.resume();
        }
    }
    @Override
    protected void onPause() {
        super.onPause();
        if (mAdView != null) {
            mAdView.pause();
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (mAdView != null) {
            mAdView.destroy();
        }
    }

Đối với Adview chúng ta có thể lắng nghe các sự kiện của nó.

 mAdView.setAdListener(new AdListener() {
            @Override
            public void onAdClosed() {
                super.onAdClosed();
            }

            @Override
            public void onAdFailedToLoad(int i) {
                super.onAdFailedToLoad(i);
            }

            @Override
            public void onAdLeftApplication() {
                super.onAdLeftApplication();
            }

            @Override
            public void onAdOpened() {
                super.onAdOpened();
            }

            @Override
            public void onAdLoaded() {
                super.onAdLoaded();
            }
        });

Tiến hành thêm permistion và chạy ứng dụng.

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

Kết quả sau khi chạy:

huong-dan-them-quang-cao-admob-vao-ung-dung-android-8 huong-dan-them-quang-cao-admob-vao-ung-dung-android-10

Source Code: GitHub

 

Nguyễn Linh

Chia sẻ để cùng tiến bộ...