Quảng cáo biểu ngữ

Quảng cáo biểu ngữ chiếm một phần trong bố cục của ứng dụng, ở trên cùng hoặc ở dưới cùng của màn hình thiết bị. Những quảng cáo này lưu trên màn hình trong khi người dùng tương tác với ứng dụng và có thể tự động làm mới sau một khoảng thời gian nhất định. Nếu bạn chưa từng sử dụng quảng cáo trên thiết bị di động, thì đây là loại quảng cáo rất phù hợp để bắt đầu. Nghiên cứu điển hình.

Hướng dẫn này chỉ cho bạn cách tích hợp quảng cáo biểu ngữ từ AdMob vào ứng dụng Android. Ngoài các đoạn mã và thông tin hướng dẫn, bài viết này còn cung cấp thông tin về cách xác định kích thước biểu ngữ sao cho phù hợp và các đường liên kết đến các tài nguyên khác.

Điều kiện tiên quyết

Thêm AdView vào bố cục

Bước đầu tiên mà bạn cần thực hiện để hiển thị quảng cáo biểu ngữ là đặt AdView trong bố cục của Activity hoặc Fragment (nơi bạn muốn quảng cáo biểu ngữ hiển thị). Cách dễ nhất để thực hiện việc này là thêm một mã vào tệp bố cục XML tương ứng. Dưới đây là ví dụ minh họa AdView của một hoạt động:

# main_activity.xml
...
  <com.google.android.gms.ads.AdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      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="ca-app-pub-3940256099942544/6300978111">
  </com.google.android.gms.ads.AdView>
...

Lưu ý các thuộc tính bắt buộc sau:

  • ads:adSize – Đặt giá trị này thành kích thước quảng cáo mà bạn muốn sử dụng. Nếu không muốn sử dụng kích thước chuẩn do hằng số xác định, bạn có thể đặt một kích thước tùy chỉnh. Hãy xem mục kích thước biểu ngữ bên dưới để biết thông tin chi tiết.
  • ads:adUnitId – Đặt giá trị này thành giá trị nhận dạng duy nhất được cấp cho đơn vị quảng cáo trong ứng dụng mà quảng cáo sẽ hiển thị. Nếu bạn hiển thị quảng cáo biểu ngữ trong các hoạt động khác nhau, mỗi hoạt động sẽ cần một đơn vị quảng cáo.

Ngoài ra, bạn có thể tạo AdView theo phương thức lập trình:

Java

AdView adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
// TODO: Add adView to your view hierarchy.

Kotlin

val adView = AdView(this)
adView.adSize = AdSize.BANNER
adView.adUnitId = "ca-app-pub-3940256099942544/6300978111"
// TODO: Add adView to your view hierarchy.

Luôn kiểm tra bằng quảng cáo thử nghiệm

Khi tạo và thử nghiệm ứng dụng, hãy đảm bảo rằng bạn sử dụng quảng cáo thử nghiệm thay vì quảng cáo đang chạy thực tế. Chúng tôi sẽ tạm ngưng tài khoản của bạn nếu bạn không thực hiện việc này.

Cách dễ nhất để tải quảng cáo thử nghiệm là sử dụng mã đơn vị quảng cáo thử nghiệm dành riêng cho biểu ngữ Android:

ca-app-pub-3940256099942544/6300978111

Mã này được định cấu hình đặc biệt để trả về quảng cáo thử nghiệm cho mọi yêu cầu và bạn có thể thoải mái sử dụng mã này trong ứng dụng của mình khi viết mã, thử nghiệm và gỡ lỗi. Bạn chỉ cần nhớ thay thế mã này bằng mã đơn vị quảng cáo của mình trước khi xuất bản ứng dụng.

Để biết thêm thông tin về cách hoạt động của quảng cáo thử nghiệm của SDK quảng cáo trên thiết bị di động, hãy xem bài viết về Quảng cáo thử nghiệm.

Tải quảng cáo

Sau khi AdView đã sẵn sàng, bước tiếp theo là tải quảng cáo. Bạn có thể thực hiện việc này bằng cách sử dụng phương thức loadAd() trong lớp AdView. Phương thức này sử dụng thông số AdRequest, giúp lưu giữ thông tin trong thời gian chạy (chẳng hạn như thông tin nhắm mục tiêu) về một yêu cầu quảng cáo.

Dưới đây là ví dụ về cách tải một quảng cáo bằng phương thức onCreate() của Activity:

MainActivity (phần trích dẫn)

Java

package ...

import ...
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;

public class MainActivity extends AppCompatActivity {
    private AdView mAdView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });
        mAdView = findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
    }
}

Kotlin

package ...

import ...
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdView

class MainActivity : AppCompatActivity() {

    lateinit var mAdView : AdView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        MobileAds.initialize(this) {}
        mAdView = findViewById(R.id.adView)
        val adRequest = AdRequest.Builder().build()
        mAdView.loadAd(adRequest)
    }
}

Vậy là xong! Bây giờ, ứng dụng của bạn đã sẵn sàng hiển thị quảng cáo biểu ngữ.

Sự kiện quảng cáo

Để tùy chỉnh thêm hành vi của quảng cáo, bạn có thể dựa vào một số sự kiện trong chu trình hoạt động của quảng cáo, chẳng hạn như tải, mở, đóng và các sự kiện khác. Bạn có thể theo dõi các sự kiện này thông qua lớp AdListener.

Để sử dụng AdListener thông qua AdView, bạn chỉ cần gọi phương thức setAdListener():

Java

mAdView.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 onAdClicked() {
        // Code to be executed when the user clicks on an ad.
    }

    @Override
    public void onAdLeftApplication() {
        // Code to be executed when the user has left the app.
    }

    @Override
    public void onAdClosed() {
        // Code to be executed when the user is about to return
        // to the app after tapping on an ad.
    }
});

Kotlin

mAdView.adListener = object: AdListener() {
    override fun onAdLoaded() {
        // Code to be executed when an ad finishes loading.
    }

    override fun onAdFailedToLoad(errorCode : Int) {
        // Code to be executed when an ad request fails.
    }

    override fun onAdOpened() {
        // Code to be executed when an ad opens an overlay that
        // covers the screen.
    }

    override fun onAdClicked() {
        // Code to be executed when the user clicks on an ad.
    }

    override fun onAdLeftApplication() {
        // Code to be executed when the user has left the app.
    }

    override fun onAdClosed() {
        // Code to be executed when the user is about to return
        // to the app after tapping on an ad.
    }
}

Mỗi phương thức có thể ghi đè trong AdListener đều tương ứng với một sự kiện trong chu trình hoạt động của một quảng cáo.

Các phương thức có thể ghi đè
onAdLoaded() Phương thức onAdLoaded() sẽ được thực thi sau khi quảng cáo đã tải xong. Ví dụ: nếu bạn muốn trì hoãn việc thêm AdView vào hoạt động hoặc phân đoạn của mình cho đến khi chắc chắn rằng quảng cáo sẽ được tải, thì bạn có thể thực hiện việc này tại đây.
onAdFailedToLoad() onAdFailedToLoad() là phương thức duy nhất chứa thông số. Thông số errorCode cho biết loại lỗi đã xảy ra. Các giá trị có thể có được định nghĩa dưới dạng hằng số trong lớp AdRequest:
  • ERROR_CODE_INTERNAL_ERROR – Đã xảy ra lỗi nội bộ; ví dụ: máy chủ quảng cáo đã gửi một phản hồi không hợp lệ.
  • ERROR_CODE_INVALID_REQUEST – Yêu cầu quảng cáo không hợp lệ; ví dụ: mã đơn vị quảng cáo không chính xác.
  • ERROR_CODE_NETWORK_ERROR – Yêu cầu quảng cáo không thành công do không có kết nối mạng.
  • ERROR_CODE_NO_FILL – Yêu cầu quảng cáo đã thực hiện thành công, nhưng hệ thống không trả về quảng cáo do thiếu khoảng không quảng cáo.
onAdOpened() Phương thức này được gọi khi người dùng nhấn vào một quảng cáo.
onAdLeftApplication() Phương thức này được gọi sau onAdOpened(), khi người dùng nhấp để mở một ứng dụng khác (chẳng hạn như Google Play) và chuyển ứng dụng hiện tại sang chạy ở chế độ nền.
onAdClosed() Sau khi người dùng xem URL đích của quảng cáo và quay lại ứng dụng, phương thức này sẽ được gọi. Ứng dụng của bạn có thể sử dụng phương thức này để tiếp tục các hoạt động bị tạm ngưng hoặc thực hiện mọi hoạt động cần thiết khác để ứng dụng sẵn sàng tương tác. Hãy tham khảo ví dụ về AdListener AdMob để biết cách triển khai các phương thức của trình xử lý quảng cáo trong ứng dụng Android API Demo.

Dưới đây là bảng liệt kê các kích thước biểu ngữ chuẩn.

Kích thước đo bằng dp (RxC) Nội dung mô tả Khả năng sử dụng Hằng số AdSize
320x50 Biểu ngữ Điện thoại và máy tính bảng BANNER
320x100 Biểu ngữ lớn Điện thoại và máy tính bảng LARGE_BANNER
300x250 Hình chữ nhật trung bình IAB Điện thoại và máy tính bảng MEDIUM_RECTANGLE
468x60 Biểu ngữ kích thước đầy đủ IAB Máy tính bảng FULL_BANNER
728x90 Hình chữ nhật dài IAB Máy tính bảng LEADERBOARD
Chiều rộng đã cho x Chiều cao thích ứng Biểu ngữ thích ứng Điện thoại và máy tính bảng Không áp dụng
Chiều rộng màn hình x 32|50|90 Biểu ngữ thông minh Điện thoại và máy tính bảng SMART_BANNER
Tìm hiểu thêm về Biểu ngữ thích ứng. Định dạng này dự kiến sẽ thay thế Biểu ngữ thông minh.

Để xác định kích thước biểu ngữ tùy chỉnh, hãy đặt AdSize mà bạn muốn như bên dưới:

Java

AdSize adSize = new AdSize(300, 50);

Kotlin

val adSize = AdSize(300, 50)

Các tài nguyên khác

Các mẫu trên GitHub

  • Ví dụ về cách triển khai tối giản cho quảng cáo biểu ngữ: Java | Kotlin

  • Bản minh họa các tính năng nâng cao: Java | Kotlin

  • Ứng dụng mẫu RecyclerView của quảng cáo biểu ngữ: Java

Video hướng dẫn về Trung tâm quảng cáo trên thiết bị di động (Mobile Ads Garage)

Câu chuyện thành công