[Khóa học lập trình Android] Bài 09 Tích hợp Admob vào ứng dụng Android

Google 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à phát triển ứng dụng, nếu bạn đang xây dựng ứng dụng Android thì Google AdMob là một trong những kênh giúp bạn có thể kiếm thu nhập. Vậy làm thế nào để tích hợp Admob vào ứng dụng Android, hãy cùng theo dõi bài hướng dẫn sau.

1. Tại sao nên sử dụng Google AdMob?

AdMob là một trong những giải pháp cung cấp quảng cáo trên nền tảng di động được xem là tốt nhất hiện nay.

AdMob là một công ty quảng cáo di động do Omar Hamoui thành lập vào ngày 10 tháng 4 năm 2006 khi Hamoui đang học tại Wharton. Sau đó được Google mua lại với giá 750 triệu USD vào tháng 11 năm 2009.

[Khóa học lập trình Android] Bài 09 Tích hợp Admob vào ứng dụng Android

AdMob kết hợp các công nghệ hàng đầu trong một nền tảng duy nhất, do đó bạn có thể nắm được thông tin chi tiết về người dùng và tối đa hóa doanh thu quảng cáo. AdMob tự động điều chỉnh quảng cáo phù hợp nhằm đảm bảo tối đa hóa doanh thu cho bạn. Tích hợp Admob vào ứng dụng Android được cài đặt một cách nhanh chóng và miễn phí.

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

Google AdMob hiển thị quảng cáo gồm Banner, Interstitial, Native và Rewarded, vậy nên tùy thuộc vào ví trí quảng cáo trong ứng dụng mà bạn sẽ lựa chọn mẫu phù hợp nhất. Tích hợp Admob vào ứng dụng Android gồm một số mẫu sau:

Banner là quảng cáo hình ảnh hoặc quảng cáo văn bản hình chữ nhật chiếm một vị trí trong bố cục của ứng dụng.

[Khóa học lập trình Android] Bài 09 Tích hợp Admob vào ứng dụng Android

Interstitial là quảng cáo chiếm toàn bộ màn hình.

[Khóa học lập trình Android] Bài 09 Tích hợp Admob vào ứng dụng Android

Native là quảng cáo cho phép bạn quyền tùy chỉnh cách nội dung được trình bày trong ứng dụng.

[Khóa học lập trình Android] Bài 09 Tích hợp Admob vào ứng dụng Android

Rewarded Video là quảng cáo video toàn màn hình mà người dùng có tùy chọn xem toàn bộ để đổi lấy phần thưởng trong ứng dụng.

[Khóa học lập trình Android] Bài 09 Tích hợp Admob vào ứng dụng Android

3. Tích hợp Admob vào ứng dụng Android như thế nào?

Tích hợp Admob vào ứng dụng Android đầu tiên bạn truy cập đường dẫn bên dưới để đăng ký tài khoản:

https://www.google.com/admob/

Mở tập tin build.gradle (Module: app) và thêm đoạn mã sau vào trong dependencies:

implementation 'com.google.android.gms:play-services-ads:15.0.0'

Việc quảng cáo yêu cầu ứng dụng cần truy cập Internet vậy nên bạn cần thiết lập quyền truy cập Internet:

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

Trước khi tải quảng cáo yêu cầu ứng dụng của bạn khởi tạo SDK quảng cáo trên điện thoại di động bằng cách gọi MobileAds.initialize() với ID ứng dụng AdMob của bạn.

package ...
import ...
import com.google.android.gms.ads.MobileAds;
 
public class MainActivity extends AppCompatActivity {
    ...
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
        MobileAds.initialize(this, "YOUR_ADMOB_APP_ID");
    }
    ...
}

Đầu tiên bạn cần thêm AdView vào bố cục giao diện Activity hoặc Fragment mà bạn muốn hiển thị. Ví dụ sau đây mình sẽ đặt quảng cáo Banner nằm ở góc dưới màn hình.

<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>

Trong đó bạn cần lưu ý 2 thuộc tính bắt buộc sau:

ads:adSize dùng để thiết lập kích thước quảng cáo bạn muốn hiển thị, bạn có thể sử dụng một trong những kích thước quảng cáo sau:

Kích thước dp (WxH) Mô tả Phù hợp Định dạng
320×50 Banner Phones and Tablets BANNER
320×100 Large Banner Phones and Tablets LARGE_BANNER
300×250 IAB Medium Rectangle Phones and Tablets MEDIUM_RECTANGLE
468×60 IAB Full-Size Banner Tablets FULL_BANNER
728×90 IAB Leaderboard Tablets LEADERBOARD
Screen width x 32|50|90 Smart Banner Phones and Tablets SMART_BANNER

ads:adUnitId dùng để thiết lập mã quảng cáo được cung cấp cho đơn vị quảng cáo trong ứng dụng của bạn.

Bạn khởi tạo AdView trong Android như sau:

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);
    }

}

Một số hàm xử lý sự kiện AdView:

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.
    }
});

Đầu tiên là bạn cần tạo quảng cáo Interstitial và sau đó thiết lập ID đơn vị quảng cáo, điều này được thực hiện trong phương thức onCreate() của một Activity.

package ...

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.InterstitialAd;

public class MainActivity extends Activity {

    private InterstitialAd mInterstitialAd;

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

        MobileAds.initialize(this,
            "ca-app-pub-3940256099942544~3347511713");

        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
        mInterstitialAd.loadAd(new AdRequest.Builder().build());

        mInterstitialAd.setAdListener(new AdListener() {
            public void onAdLoaded() {
                showInterstitial();
            }
        });
    }

    private void showInterstitial() {
        if (interstitialAd.isLoaded()) {
            interstitialAd.show();
        }
    }

}

Một số hàm xử lý sự kiện Interstitial:

mInterstitialAd.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 the ad is displayed.
    }

    @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 interstitial ad is closed.
    }
});

Lưu ý: Nếu bạn đang trong quá trình kiểm thử ứng dụng thì bạn hãy nên khởi tạo AdRequest thông qua addTestDevice() để tránh bị Google phạt do vi phạm chính sách.

Bạn khởi tạo đối tượng như sau:

adRequest = new AdRequest.Builder().addTestDevice("YOUR_DEVICE_ID").build();

YOUR_DEVICE_ID bạn xem ở trong Logcat

Xem nội dung chi tiết hướng dẫn trên Youtube:

Lời kết: Như vậy khóa học lập trình Android miễn phí được chia sẻ bởi Team Việt Dev hy vọng giúp bạn có thêm nhiều kiến thức cơ bản để tự xây dựng cho riêng mình một ứng dụng Android.

(Tác giả: Team Việt Dev)

Bình luận