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ợ.
#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
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.
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.
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.
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”.
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ớ.
Khi bạn tạo xong nó sẽ hiện bảng như thế này
Bước tiếp theo, các bạn click vào next để tạo từng id một
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:
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ả.
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.
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:
- Tìm kiếm ý tưởng xây dựng ứng dụng Android “tỷ đô”
- Tự học lập trình Android trong 24 giờ
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.