Hướng dẫn tích hợp Admob trong Android nhanh chóng

18
Dịch vụ dạy kèm gia sư lập trình

Admob là nền tảng quảng cáo trên thiết bị mobile, giúp bạn kiếm tiền từ việc hiển thị quảng cáo. Đây là giải pháp kiếm tiền tốt nhất cho ứng dụng được phát hành miễn phí. Bài viết này, mình sẽ hướng dẫn các bạn tích hợp admob trong android để hiển thị các loại quảng cáo khác nhau mà AdMob hỗ trợ.

Hướng dẫn tích hợp Admob trong Android

#Admob là gì? Ưu điểm

Có thể coi Google Admob là quảng cáo Adsense, hiển thị quảng cáo trên các ứng dụng di động.

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.

Để có thể kiếm tiền bền vững với Google Admob, bạn sẽ phải đọc rất kỹ những chính sách của họ. Chỉ cần bạn vi phạm một điều nhỏ trong đó thôi cũng đủ ôm hận.

Ưu điểm của Admob so với Ad network khác

Nếu nói đến hình thức kiếm tiền từ quảng cáo trên các ứng dụng di động thì có lẽ khó có công ty nào qua mặt được admob. Vì sao ư?

  • Admob là công ty thuộc Google, nên độ uy tín khỏi bàn.
  • Nhiều quảng cáo, phù hợp với mọi loại ứng dụng.
  • Giá trên mỗi lượt click cao.
  • Nhiều tính năng tích hợp giúp bạn tối ưu doanh thu.
  • Hỗ trợ nhiều loại quảng cáo: banner, insterest ad, native ads, video ads…
  • Được hỗ trợ tốt từ các suppoter admob.

Ở bài viết này, mình sẽ không đi sâu vào những chính sách của Admob, chỉ đơn thuần hướng dẫn cách tích hợp Admob vào android.

#Các loại quảng cáo Google Admob vào Android

1. Banner

Là loại 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.

Tích hợp admob trong Android

Banner mình hay sử dụng để đặt dưới bottom layout vì nó tiện dụng. Mặc dù doanh thu kiếm từ banner là thấp nhất nhưng lại tiện dụng nhất vì màn nào cũng có thể add được.

2. Interstitial

Đây là hình thức hiển thị quảng cáo chiếm toàn bộ màn hình.

Interstital mình hay sử dụng khi người dùng làm 1 hoạt động gì đó thì mình cho show full màn hình,hoặc lần đầu tiên vào app.

huong-dan-tich-hop-admob-trong-android

Doanh thu kiếm từ full là tương đối lớn. Tuy nhiên, nhược điểm là nó làm giảm trải nghiệm người dùng. Nếu bạn tích hợp không khéo, có thể gây khó chịu cho người dùng.

3. Native

Là loại 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.

Kiểu như trong các ứng dụng đọc báo,  trong danh sách tin bài thì xen kỹ vào những bài viết quảng cáo.

huong-dan-tich-hop-admob-trong-android

4. Quảng cáo Admob vào Android cuối cùng: 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.

Thông  thường Rewarded video hay được sử dụng trong game khi người dùng muốn thêm lượt hoặc muốn kiếm điểm thưởng.

Phần tiếp theo, chúng ta sẽ cùng nhau tích hợp banner và  Interstitial Admob vào ứng dụng Android.

#Từng bước tích hợp Admob trong Android

1.Tạo id quảng cáo Admob trong ứng dụng Android

Đầu tiên các bạn đăng ký và login theo link này.

Các bạn nhấn vào “Add App”.

tich-hop-admob-trong-android-4

Các bạn chọn YES nếu app của bạn đã có trên chplay. Nếu không thì cứ mạnh dạn chọn NO.

Bây giờ các bạn đặt tên app các bạn đặt tên gì cũng được cho dễ nhớ.

huong-dan-tich-hop-admob-trong-android

Khi bạn tạo xong nó sẽ hiện bảng như thế này

tich-hop-admob-trong-android-6

Bước tiếp theo, các bạn click vào next để tạo từng id một

tich-hop-admob-trong-android-7

Giờ các bạn chỉ cần chọn loại quảng cáo bạn muốn. Sau đó, bạn lấy Ad Unit để tích hợp vào trong code.

2. Tích hợp Admob ID vào code

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

Bước 2: Mở build.gradle thêm các thư viện

implementation 'com.google.firebase:firebase-core:9.0.2'
implementation 'com.google.firebase:firebase-ads:9.0.2'

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

tich-hop-admob-trong-android-8

Mình sẽ thêm banner admob ở bottom trong layout.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    tools:context=".MainActivity">

    <TextView
        android:layout_centerInParent="true"
        android:gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_home_footer" />
</RelativeLayout>

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

<string name="banner_home_footer">ca-app-pub-3940256099942544/6300978111</string>
<string name="interstitial_full_screen">ca-app-pub-3940256099942544/1033173712</string>
<string name="app_id">ca-app-pub-3940256099942544~3347511713</string>

Bước 5 :Tạo trong MainActivity.java.

Để quảng cáo chạy tốt chúng ta cần xử lý trong các vòng đời của Activity. 

♠ Xem ngay: Activity Lifecycle

public class MainActivity extends AppCompatActivity {

    private AdView adView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initAdmob();
    }

    private void initAdmob() {
        adView=findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder()
                .build();
        adView.loadAd(adRequest);
    }
    @Override
    public void onPause() {
        if (adView != null) {
            adView.pause();
        }
        super.onPause();
    }

    @Override
    public void onResume() {
        super.onResume();
        if (adView != null) {
            adView.resume();
        }
    }

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

Vì quảng cáo sẽ cần phải kết nối internet nên đừng quên thêm permission INTERNET trong manifest.

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

Và đây là thành quả.

tich-hop-admob-trong-android-9

Ngoài ra mình sẽ hướng dẫ các bạn thiết kế show full màn hình ở màn SplashActivity.

public class SplashActivity extends AppCompatActivity {
    private InterstitialAd interstitialAd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        MobileAds.initialize(this, getResources().getString(R.string.app_id));
        interstitialAd = new InterstitialAd(this);
        interstitialAd.setAdUnitId(getResources().getString(R.string.interstitial_full_screen));
        AdRequest adRequest = new AdRequest.Builder().build();
        interstitialAd.loadAd(adRequest);
        interstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdClosed() {
                super.onAdClosed();
                startMain();
            }
        });
        initViews();
    }

    private void initViews() {
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                if (interstitialAd.isLoaded()) {
                    interstitialAd.show();
                } else

                    startMain();
            }
        }, 3000);
    }

    private void startMain() {
        startActivity(new Intent(SplashActivity.this, MainActivity.class));
        finish();
    }
}

Mình cho chạy màn hình Splash 3s sau khi admob đã load xong. Nếu load lỗi vì lý do gì đó mình sẽ cho chạy thẳng vào MainActivity.

>> Đọc thêm: Tạo Splash Screen trong Android chuẩn mực nhất

Và đây là kết quả sau khi tích hợp Interstitial ads.

tich-hop-admob-trong-android-10

Toàn bộ source code của bài viết tại đây nhé

Các bạn có thể tham khảo các bài viết chuyên sâu về tìm kiếm ý tưởng cũng như tự xây dựng một ứng dụng Android để kiếm tiền tại đây:

Hy vọng bài này sẽ giúp các bạn biết được cách tích hợp Admob trong Android app và kiếm được nhiều tiền từ Admob.

Dịch vụ phát triển ứng dụng mobile giá rẻ - chất lượng
Bài trướcThực hiện A/B Testing để tối ưu hóa ngân sách Facebook Ads
Bài tiếp theoHướng dẫn load ảnh với thư viện Glide trong Android
Sơn Dương
Tên đầy đủ là Dương Anh Sơn. Tốt nghiệp ĐH Bách Khoa Hà Nội. Mình bắt đầu nghiệp coder khi mà ra trường chẳng xin được việc đúng chuyên ngành. Mình tin rằng chỉ có chia sẻ kiến thức mới là cách học tập nhanh nhất. Các bạn góp ý bài viết của mình bằng cách comment bên dưới nhé !

18
Bình luận. Cùng nhau thảo luận nhé!

avatar
  Theo dõi bình luận  
Mới nhất Cũ nhất Nhiều voted nhất
Thông báo
vinhnt
Guest
vinhnt

Bạn cho mình hỏi chút, mình mới tích hợp admob vào app dạng banner. app mình có nhiều màn hình, vậy mỗi màn hình đó mình lên sử dụng 1 ad id, hay các màn hình đều dùng chung 1 ad id. 2 cách ý thì cách nào tốt hơn ạ

Khanh
Guest
Khanh

chào bạn,
mình ko phải dân code nên hỏi hơi ngu xíu bạn thông cảm nhé:
ở bước 2: bước tích hợp, mở Android Studio lên vào tạo project … xong thì lưu ở đâu và có liên quan gì đến app mình trên store bạn nhỉ?

Dũng
Guest
Dũng

Bạn cho minh hỏi cách gỡ quảng cáo như thế nào ạ

NGUYEN VAN KIEM
Guest
NGUYEN VAN KIEM

Admin cho mình hỏi với. Mình làm theo hướng dẫn. chạy máy ảo hiển thị quảng cao. Tuy nhiên cài trên máy thật lại không hiển thị quảng cáo.
Nhờ Admin hướng dẫn thêm cách xử lý.
Cảm ơn.

Thao
Guest
Thao

mình chỉ tích hợp quảng cáo banner thôi bạn. mình làm như hướng dẫn của bạn. chạy chế độ test thì nó hiển thị quảng cáo. Nhưng khi mình cho app lên môi trường production thì quảng cáo không hiển thị lên, mình kiểm tra log thì báo Fail to load add error 3

Note: account admob của mình chỉ vừa mới tạo thôi đó admin. Mong admin có thể giải đáp giúp mình thắc mắc này ạ

Tô Quang Hiệp
Guest
Tô Quang Hiệp

Cảm ơn nhiều. mình đã làm được rồi. Quảng cáo đã hiện bình thường
Cho mình hỏi ngoài là nếu ứng dụng và Admob không kết nối tới fỉeBase thì có sao không ạ, vẫn kiếm tiền bình thường chứ

To Quang Hiep
Guest
To Quang Hiep

Khổng hiểu tại sao khi đưa Admod vào ứng dụng, Run ứng dụng không chạy được. Không thấy bó lỗi chỗ nào