Quảng cáo gốc

Quảng cáo gốc là các nội dung quảng cáo hiển thị cho người dùng thông qua các thành phần giao diện người dùng vốn có của nền tảng. Những quảng cáo này được hiển thị bằng cách sử dụng các loại chế độ xem tương tự mà bạn đã tạo bố cục và có thể được định dạng cho phù hợp với thiết kế trực quan của trải nghiệm người dùng mà quảng cáo đang hiển thị. Trong thuật ngữ mã hóa, điều này có nghĩa là khi một quảng cáo gốc tải, ứng dụng của bạn sẽ nhận được đối tượng NativeAd có chứa nội dung, và sau đó ứng dụng (thay vì SDK) sẽ chịu trách nhiệm hiển thị các quảng cáo đó.

Nói chung, có hai bước để triển khai thành công quảng cáo gốc: tải quảng cáo qua SDK và hiển thị nội dung quảng cáo trong ứng dụng của bạn. Trang này tập trung vào việc sử dụng SDK để tải quảng cáo gốc.

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

Tải quảng cáo

Quảng cáo gốc được tải thông qua lớp AdLoader, lớp này lại có lớp Builder riêng để tự tùy chỉnh trong quá trình tạo quảng cáo. Bằng việc thêm các trình xử lý vào AdLoader trong khi tạo quảng cáo, ứng dụng sẽ chỉ định các loại quảng cáo gốc có thể nhận. Sau đó, AdLoader sẽ chỉ yêu cầu các loại quảng cáo đó.

Tạo một AdLoader

Mã sau đây minh họa cách tạo AdLoader có thể tải quảng cáo gốc hợp nhất

Java

AdLoader adLoader = new AdLoader.Builder(context, "ca-app-pub-3940256099942544/2247696110")
    .forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() {
        @Override
        public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) {
            // Show the ad.
        }
    })
    .withAdListener(new AdListener() {
        @Override
        public void onAdFailedToLoad(int errorCode) {
            // Handle the failure by logging, altering the UI, and so on.
        }
    })
    .withNativeAdOptions(new NativeAdOptions.Builder()
            // Methods in the NativeAdOptions.Builder class can be
            // used here to specify individual options settings.
            .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
        .forUnifiedNativeAd { ad : UnifiedNativeAd ->
            // Show the ad.
        }
        .withAdListener(object : AdListener() {
            override fun onAdFailedToLoad(errorCode: Int) {
                // Handle the failure by logging, altering the UI, and so on.
            }
        })
        .withNativeAdOptions(NativeAdOptions.Builder()
                // Methods in the NativeAdOptions.Builder class can be
                // used here to specify individual options settings.
                .build())
        .build()

Chuẩn bị cho định dạng UnifiedNativeAd

Phương pháp đầu tiên ở trên chịu trách nhiệm về việc chuẩn bị AdLoader cho định dạng UnifiedNativeAd:

forUnifiedNativeAd()
Khi gọi phương thức này, AdLoader sẽ được định cấu hình để yêu cầu quảng cáo gốc hợp nhất. Khi một quảng cáo đã tải thành công, hệ thống sẽ gọi phương thức onUnifiedNativeAdLoaded() của đối tượng trình xử lý.

Khi AdLoader đưa ra một yêu cầu quảng cáo, Google sẽ chọn và trả lại quảng cáo giúp nhà xuất bản kiếm được nhiều lợi nhuận nhất có thể.

Sử dụng AdListener với AdLoader

Trong quá trình tạo AdLoader ở trên, hàm withAdListener sẽ đặt AdListener.

Đây là một bước tùy chọn. Phương thức này sẽ lấy một AdListener làm thông số duy nhất. Thông số này sẽ nhận lệnh gọi lại từ AdLoader khi các sự kiện trong chu trình quảng cáo diễn ra:

Java

.withAdListener(new AdListener() {
    // AdListener callbacks like OnAdFailedToLoad, OnAdOpened, OnAdClicked and
    // so on, can be overridden here.
})

Kotlin

.withAdListener(object : AdListener() {
    // AdListener callbacks like OnAdFailedToLoad, OnAdOpened, OnAdClicked and
    // so on, can be overridden here.
})

Có một sự khác biệt lớn giữa cách mà AdListener làm việc với quảng cáo gốc và cách mà trình xử lý này làm việc với quảng cáo biểu ngữ và quảng cáo xen kẽ. Vì AdLoader có trình xử lý định dạng cụ thể riêng (ví dụ: UnifiedNativeAd.OnUnifiedNativeAdLoadedListener ) để dùng sau khi đã tải một quảng cáo nên phương thức onAdLoaded() từ AdListener sẽ không được gọi khi tải quảng cáo gốc thành công.

Tải quảng cáo

Sau khi tạo xong AdLoader, bạn có thể sử dụng trình xử lý này để tải quảng cáo. Bạn có thể sử dụng hai phương thức sau để thực hiện việc này: loadAd()loadAds().

Phương thức loadAd() sẽ gửi yêu cầu về một quảng cáo:

loadAd()
Phương thức này sẽ gửi yêu cầu về một quảng cáo.

Java

adLoader.loadAd(new AdRequest.Builder().build());

Kotlin

adLoader.loadAd(AdRequest.Builder().build())

Phương thức loadAds() sẽ gửi một yêu cầu về nhiều quảng cáo (tối đa 5 quảng cáo):

Java

adLoader.loadAds(new AdRequest.Builder().build(), 3);

Kotlin

adLoader.loadAds(AdRequest.Builder().build(), 3)

Cả hai phương thức này đều lấy đối tượng AdRequest làm thông số đầu tiên. Đây chính là lớp AdRequest mà quảng cáo biểu ngữ và quảng cáo xen kẽ sử dụng. Do đó, bạn có thể sử dụng các phương thức của lớp AdRequest để thêm thông tin nhắm mục tiêu, giống như cách bạn thực hiện với các định dạng quảng cáo khác.

loadAds() lấy thêm một thông số: số lượng quảng cáo mà SDK sẽ cố gắng tải cho yêu cầu đó. Con số này có giới hạn tối đa là 5 quảng cáo, và không đảm bảo rằng SDK sẽ trả lại số lượng quảng cáo chính xác mà bạn đã yêu cầu. Nếu lệnh gọi đến loadAds() trả về nhiều quảng cáo, các quảng cáo đó sẽ khác nhau.

Sau khi gọi loadAd(), hệ thống sẽ thực hiện một lệnh gọi lại đến phương thức trình xử lý đã xác định ở trên để phân phát đối tượng quảng cáo gốc hoặc báo cáo lỗi.

Sau khi gọi loadAds(), hệ thống sẽ thực hiện nhiều lệnh gọi lại như vậy (ít nhất là 1 và không nhiều hơn số lượng quảng cáo đã yêu cầu). Các ứng dụng yêu cầu nhiều quảng cáo sẽ gọi AdLoader.isLoading() trong các hoạt động triển khai gọi lại để xác định xem liệu quá trình tải đã hoàn tất hay chưa.

Dưới đây là ví dụ cho thấy cách kiểm tra isLoading() trong lệnh gọi lại onUnifiedNativeAdLoaded():

Java

final AdLoader adLoader = new AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
        .forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() {
    @Override
    public void onUnifiedNativeAdLoaded(UnifiedNativeAd ad) {
        ...
        // some code that displays the ad.
        ...
        if (adLoader.isLoading()) {
            // The AdLoader is still loading ads.
            // Expect more adLoaded or onAdFailedToLoad callbacks.
        } else {
            // The AdLoader has finished loading ads.
        }
    }
}).build();
adLoader.loadAds(new AdRequest.Builder().build(), 3);

Kotlin

lateinit var adLoader: AdLoader
...
adLoader = AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")
    .forUnifiedNativeAd {
        ...
        // some code that displays the ad.
        ...
        if (adLoader.isLoading) {
            // The AdLoader is still loading ads.
            // Expect more adLoaded or onAdFailedToLoad callbacks.
        } else {
            // The AdLoader has finished loading ads.
        }
    }.build()
adLoader.loadAds(AdRequest.Builder().build(), 3)

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 Quảng cáo gốc nâng cao trên Android:

ca-app-pub-3940256099942544/2247696110

Quảng cáo 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ể sử dụng quảng cáo này trong ứng dụng của riêng mình khi viết mã, thử nghiệm và gỡ lỗi. Bạn chỉ cần 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 Quảng cáo thử nghiệm.

Thời điểm yêu cầu quảng cáo

Các ứng dụng hiển thị quảng cáo gốc có thể yêu cầu quảng cáo trước khi quảng cáo thực sự hiển thị. Trong nhiều trường hợp, đây là phương pháp nên dùng. Ví dụ: một ứng dụng hiển thị danh sách các mục có kết hợp quảng cáo gốc có thể tải quảng cáo gốc cho toàn bộ danh sách, có xét đến điều kiện rằng một số quảng cáo chỉ hiển thị sau khi người dùng cuộn qua màn hình hiển thị và một số quảng cáo hoàn toàn không hiển thị.

Hiển thị Quảng cáo gốc hợp nhất

Sau khi bạn tải quảng cáo, công việc còn lại chỉ là hiển thị quảng cáo cho người dùng. Hãy xem Hướng dẫn quảng cáo gốc nâng cao của chúng tôi để biết cách thực hiện.