Tích hợp Admob vào android

Các loại quảng cáo AdMob

AdMob được hỗ trợ trong Android dưới hai dạng đó là Banner và Interstitial (dạng quảng cáo fullscreen).

 

Ad Units

Ứng với mỗi banner quảng cáo hay Interstitial sẽ có 1 cái Id được gọi là Ad Unit. Để có thể tích hợp quảng cáo vào ứng dụng bạn phải tạo đơn vị quảng cáo trên trang chủ Admob.

Các bước làm như sau:

Bước 1: Tạo một 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 tôi chọn Android). Và nhấn Add app

Bước 4: 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 Save.

Bước 5: Đăng kí thành công chúng ta sẽ thấy một chuổi dài như dưới đây thì đó là Ad Unit dùng để tích hợp vào Android.

Tôi tạo tiếp một loại quảng cáo Interstitial nữa và kết quả như dưới đây:

Tiếp theo, chúng ta sẽ 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 Ad Unit

Tích hợp AdMob vào ứng dụng Android

Trước tiên tôi khởi tạo một project có tên là AdModAds để hướng dẫn trong bài viết này.

Tiếp theo chúng ta 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’

Và nhấn Sync Now để Android Studio download thư viện và tiến hành cài đặt.

Tôi tạo thêm 1 activity nữa có tên là FullAdsActivity để hiển thị quảng cáo dạng fullscreen Interstitial.

Ở MainActivity tôi sẽ hiển thị quảng cáo dạng banner ở phía dưới và một button để mở FullAdsActivity .

Vì việc load ads cần sử dụng đến internet nên chúng ta phải cấp quyền truy cập internet trong file manifest.xml như sau:

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version=“1.0” encoding=“utf-8”?>
    package=“com.example.nguyennghia.admobads”>
    <usespermission android:name=“android.permission.INTERNET” />
    <usespermission 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”>
            <intentfilter>
                <action android:name=“android.intent.action.MAIN” />
                <category android:name=“android.intent.category.LAUNCHER” />
            </intentfilter>
        </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:

1
2
3
4
5
6
7
<resources>
    <string name=“app_name”>AdMobAds</string>
    
    <!Ad unit>
    <string name=“ad_unit_banner”>caapppub8567317612161629/1489835995</string>
    <string name=“ad_unit_full”>caapppub8567317612161629/2966569195</string>
</resources>

Load Ads Banner

Trong file activity_main.xml chúng ta khai báo một AdView như sau:

<?xml version=“1.0” encoding=“utf-8”?>

<RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android&#8221;

    xmlns:ads=http://schemas.android.com/apk/res-auto&#8221;

    xmlns:tools=http://schemas.android.com/tools&#8221;

    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:

Size (WxH) Description Availability AdSize Constant
320×50 Standard 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

Smart Banner sẽ căn theo chiều cao của device để xác định chiều cao của AdView.

Nếu tạo bằng code Java bạn có thể tạo như sau

1
2
3
AdView adView = new AdView(this);
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId(“ca-app-pub-8567317612161629/1489835995”);

Trong file MainActivity.java

Một số Event của AdView

onAdLoaded

Phương thức này được gọi ngay sau khi ads được load xong.

onAdFailedToLoad

Phương thức này được gọi khi request ads fail. Trong phương thức này chúng ta có thể request lại ads mới

onAdOpened

Phương thức này được gọi khi người dùng click vào ads.

onAdLeftApplication

Phương thức này được gọi ngay sau khi onAdOpened được gọi. Activity  hiển thị quảng cáo được mở lên.

onAdClosed

Phương thức này được gọi khi người dùng back từ activity quảng cáo về.

Load Ads Interstitial

So với Ads Banner thì Interstitial không cần khởi tạo View mà chỉ sử dụng class InterstitialAd sau đó set AdUnitId và sử dụng AdRequest để load ads như Ads Banner.

Nếu ứng dụng của các bạn đang test ads  thì nên khởi tạo AdRequest như sau:

Với Id được lấy ở LogCat như hình dưới đây:

do đó AdRequest trong ví dụ demo của tôi là:

Kết quả sau khi run app với chế độ test ads:

Các bạn có thể download Source demo ở đây:

Kết luận

Trên đây tôi đã hướng dẫn các bạn tích hợp quảng cáo AdMob và ứng dụng Android một cách chi tiết và cụ thể. Trong ứng dụng, tùy vào UI mà bạn bên đạt ads ở vị trí nào tránh làm phiền người dùng. Nếu có bất cứ thắc mắc nào các bạn có thể để lại câu hỏi ở phần bình luận.

Link tham khảo: http://eitguide.com/tich-hop-quang-cao-admod-vao-ung-dung-android/

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s