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.
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.
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
- 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ụng
- 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.
- Kiểm tra ID quảng cáo.
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'
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:
Source Code: GitHub