Các loại quảng cáo AdMob
AdMob hỗ trợ trong Android dưới 2 dạng đó là:
- Banner ads: hiển thị 1 phần ở trên hoặc dưới màn hình.
- Interstitial ads: dạng quảng cáo toàn màn hình.
Ad Units
Ứng với mỗi loại quảng cáo Banner hay Interstitial sẽ có 1 đơn vị quảng cáo gọi là Ad unit, mỗi Ad unit sẽ có 1 id định danh. Để tích hợp quảng cáo vào ứng dụng phải tạo đơn vị quảng cáo trên trang chủ AdMob.
Bạn đang xem: Tích Hợp Quảng Cáo Admob vào Ứng Dụng Android
Tạo Banner Ad unit
Bước 1: tạo 1 tài khoản AdMob nếu chưa có tại: https://apps.admob.com
Bước 2: chọn sang tab Monetize và nhấn vào Monetize new app
Bước 3: 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 chọn Android) và nhấn Add app.
Bước 4: chọn loại quảng cáo và nhập tên quảng cáo, tên này dùng để quản lý sau khi gắn quảng cáo để xem số lượt xem, số lượt nhấp chuột và nhấn Save.
Bước 5: đăng kí thành công sẽ thấy 1 chuỗi dài như dưới đây, đó là id của Ad unit dùng để tích hợp vào ứng dụng.
Tạo Interstitial Ad unit
Tạo tiếp 1 loại quảng cáo là Interstitial ads:
Tiếp theo, tiến hành tích hợp quảng cáo vào ứng dụng Android sau khi đã tạo thành công các Ad units.
Tích hợp AdMob vào ứng dụng Android
Tạo 1 project có tên là AdModAds:
Tiếp theo, mở file build-gradle (Module: app) và thêm dòng dưới đây vào trong dependencies:
compile ‘com.google.android.gms:play-services-ads:9.0.0’
Nhấn Sync Now để Android Studio tải thư viện và tiến hành cài đặt:
Xem thêm : Cách hiện ổ cứng bị ẩn trên máy tính Windows
Tạo thêm 1 Activity, tên là FullAdsActivity để hiển thị quảng cáo dạng toàn màn hình Interstitial.
Ở MainActivity hiển thị quảng cáo dạng Banner ở phía dưới và 1 button để mở FullAdsActivity .
Vì việc tải quảng cáo cần sử dụng internet nên phải cấp quyền truy cập internet trong file manifest.xml như sau:
<?xml version=”1.0″ encoding=”utf-8″?> <manifest xmlns:android=”http://schemas.android.com/apk/res/android” package=”com.example.nguyennghia.admobads”> <uses-permission android:name=”android.permission.INTERNET” /> <uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” /> <application android:allowBackup=”true” android:icon=”@mipmap/ic_launcher” android:label=”@string/app_name” android:supportsRtl=”true” android:theme=”@style/AppTheme”> <activity android:name=”.MainActivity”> <intent-filter> <action android:name=”android.intent.action.MAIN” /> <category android:name=”android.intent.category.LAUNCHER” /> </intent-filter> </activity> <activity android:name=”.FullAdsActivity”></activity> </application> </manifest>
Thêm Ad unit vừa mới tạo ở trên vào thư mục string.xml trong values:
<resources> <string name=”app_name”>AdMobAds</string> <!-Ad unit-> <string name=”ad_unit_banner”>ca-app-pub-8567317612161629/1489835995</string> <string name=”ad_unit_full”>ca-app-pub-8567317612161629/2966569195</string> </resources>
Hiển thị Banner Ads
Trong file activity_main.xml khai báo 1 AdView như sau:
<?xml version=”1.0″ encoding=”utf-8″?> <RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android” xmlns:ads=”http://schemas.android.com/apk/res-auto” xmlns:tools=”http://schemas.android.com/tools” android:layout_width=”match_parent” android:layout_height=”match_parent” tools:context=”com.example.nguyennghia.admobads.MainActivity”> <Button android:text=”Open InterstitialAds” android:layout_centerInParent=”true” android:id=”@+id/btn_open_interstitial_ads” android:layout_width=”wrap_content” android:layout_height=”wrap_content” /> <com.google.android.gms.ads.AdView android:id=”@+id/av_banner” android:layout_alignParentBottom=”true” android:layout_centerHorizontal=”true” ads:adSize=”SMART_BANNER” ads:adUnitId=”@string/ad_unit_banner” android:layout_width=”wrap_content” android:layout_height=”wrap_content”> </com.google.android.gms.ads.AdView> </RelativeLayout>
Với Adsize sẽ có những hằng sau đây:
Smart Banners sẽ căn theo chiều cao của thiết bị, để xác định chiều cao của AdView.
Nếu tạo bằng mã Java:
AdView adView = new AdView(this); adView.setAdSize(AdSize.SMART_BANNER); adView.setAdUnitId(“ca-app-pub-8567317612161629/1489835995”);
File MainActivity.java
package com.example.nguyennghia.admobads; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import com.google.android.gms.ads.AdListener; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; import com.google.android.gms.ads.InterstitialAd; public class MainActivity extends AppCompatActivity { private static final String TAG = “MainActivity”; private AdView avBanner; private AdRequest adRequest; private Button btnOpenInterstitialAd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnOpenInterstitialAd = (Button)findViewById(R.id.btn_open_interstitial_ads); avBanner = (AdView)findViewById(R.id.av_banner); adRequest = new AdRequest.Builder().build(); // LLoad ads avBanner.loadAd(adRequest); btnOpenInterstitialAd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, FullAdsActivity.class); startActivity(intent); } }); } }
1 số Event của AdView
Xem thêm : Cách trích, lọc dữ liệu theo điều kiện trong Excel
avBanner.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. } });
onAdLoaded()
onAdLoaded() là phương thức được gọi ngay sau khi quảng cáo được tải xong.
onAdFailedToLoad()
onAdFailedToLoad() là phương thức được gọi khi yêu cầu quảng cáo không thành công, có thể yêu cầu lại quảng cáo mới.
onAdOpened()
onAdOpened() là phương thức được gọi khi người dùng nhấp chuột vào quảng cáo.
onAdLeftApplication()
onAdLeftApplication() là phương thức được gọi ngay sau khi onAdOpened() được gọi. Activity hiển thị quảng cáo được mở lên.
onAdClosed()
onAdClosed() là phương thức được gọi khi người dùng trở lại từ Activity quảng cáo.
Load Ads Interstitial
package com.example.nguyennghia.admobads; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import com.google.android.gms.ads.AdListener; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.InterstitialAd; public class FullAdsActivity extends AppCompatActivity { private static final String TAG = “FullAdsActivity”; private InterstitialAd interstitialAd; private AdRequest adRequest; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_full_ads); interstitialAd = new InterstitialAd(this); interstitialAd.setAdUnitId(getResources().getString(R.string.ad_unit_full)); interstitialAd.setAdListener(new AdListener() { @Override public void onAdLoaded() { super.onAdLoaded(); Log.i(TAG, “onAdLoaded: “); interstitialAd.show(); } @Override public void onAdOpened() { super.onAdOpened(); Log.i(TAG, “onAdOpened: “); } @Override public void onAdLeftApplication() { super.onAdLeftApplication(); Log.i(TAG, “onAdLeftApplication: “); } @Override public void onAdFailedToLoad(int i) { super.onAdFailedToLoad(i); Log.i(TAG, “onAdFailedToLoad: “); } @Override public void onAdClosed() { super.onAdClosed(); Log.i(TAG, “onAdClosed: “); } }); adRequest = new AdRequest.Builder().build(); interstitialAd.loadAd(adRequest); } }
Quảng cáo Banner thì Interstitial không cần khởi tạo View mà chỉ sử dụng lớp InterstitialAd sau đó đặt AdUnitId và sử dụng AdRequest để tải quảng cáo như quảng cáo Banner.
Nếu ứng dụng đang kiểm tra quảng cáo thì nên khởi tạo AdRequest như sau:
new AdRequest.Builder().addTestDevice(“SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID”).build();
Với id được lấy ở LogCat như hình dưới đây:
Do đó AdRequest trong ví dụ là:
adRequest = new AdRequest.Builder().addTestDevice(“9D50B2710767A863E237BDB4FC17C196”).build();
Kết quả sau khi chạy app với chế độ kiểm tra quảng cáo:
Tải project demo
- Tải trực tiếp: AdMobAdsWorking-master.zip
- Tải từ Github.
Nguồn: https://vnedulink.edu.vn
Danh mục: Thủ Thuật