Định dạng quảng cáo gốc tùy chỉnh

Nhà xuất bản Google Ad Manager có thể tạo các định dạng quảng cáo gốc riêng bằng cách xác định danh sách nội dung tùy chỉnh. Bạn có thể sử dụng các định dạng quảng cáo gốc tùy chỉnh này cùng với quảng cáo đặt trước. Định dạng quảng cáo gốc tùy chỉnh cho phép nhà xuất bản chuyển dữ liệu chuỗi và hình ảnh tùy ý đến ứng dụng của họ. Dữ liệu này do một đối tượng CustomNativeTemplateAd biểu thị.

Tải các định dạng quảng cáo gốc tùy chỉnh

Bạn có thể tải các định dạng quảng cáo gốc tùy chỉnh bằng cách sử dụng đối tượng AdLoader. Phương thức forCustomTemplateAd() định cấu hình AdLoader để xử lý các định dạng quảng cáo gốc tùy chỉnh. Mỗi định dạng quảng cáo gốc tùy chỉnh đều có một giá trị ID mẫu được liên kết với nó. Bạn phải chỉ định ID mẫu của định dạng quảng cáo gốc tùy chỉnh mà ứng dụng của bạn muốn AdLoader yêu cầu. Hãy tìm ID mẫu trong giao diện người dùng Ad Manager để có ID mẫu của định dạng quảng cáo gốc mà bạn muốn yêu cầu.

void LoadCustomNativeTemplateAd()
{
    AdLoader adLoader = new AdLoader.Builder("/6499/example/native")
        .forCustomNativeAd("10063170")
        .Build();
    adLoader.LoadAd(new AdRequest.Builder().Build());
}

Bởi vì một đơn vị quảng cáo có thể được thiết lập để phân phát nhiều mẫu quảng cáo, nên forCustomTemplateAd() có thể được gọi nhiều lần với các ID mẫu khác nhau để chuẩn bị Adloader cho nhiều định dạng quảng cáo gốc tùy chỉnh tiềm năng. Đoạn mã bên dưới minh họa cách chuẩn bị AdLoader cho nhiều mẫu định dạng quảng cáo gốc tùy chỉnh.

void LoadCustomNativeTemplateAd()
{
    AdLoader adLoader = new AdLoader.Builder("/6499/example/native")
        .forCustomNativeAd("10063170")
        .forCustomNativeAd("10063171")
        .forCustomNativeAd("10063172")
        .Build();
    adLoader.LoadAd(new AdRequest.Builder().Build());
}

Sự kiện quảng cáo có định dạng quảng cáo gốc tùy chỉnh

Lớp AdLoader cung cấp các sự kiện quảng cáo thuộc loại EventHandler để thông báo cho bạn về vòng đời của định dạng quảng cáo gốc tùy chỉnh. Ví dụ bên dưới minh họa cách đăng ký các sự kiện quảng cáo có định dạng quảng cáo gốc tùy chỉnh:

adLoader.onCustomNativeTemplateAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;

Phương thức HandleCustomNativeAdLoaded() chứa thông số CustomNativeEventArgs. Bạn có thể truy cập vào định dạng quảng cáo gốc tùy chỉnh đã tải thông qua thông số sự kiện này, như minh họa dưới đây:

private boolean adLoaded;
private CustomNativeTemplateAd customNativeTemplateAd;
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeEventArgs args)
{
    customNativeTemplateAd = args.nativeAd;
    adLoaded = true;
}

Hiển thị các định dạng quảng cáo gốc tùy chỉnh

Các định dạng quảng cáo gốc tùy chỉnh hỗ trợ nội dung văn bản và hình ảnh do người dùng xác định với số lượng bất kỳ. Bạn có thể truy cập vào các nội dung này thông qua lớp CustomNativeTemplateAd, cung cấp phương thức GetTexture2D()GetText() giúp lấy ID biến của một trường mẫu làm thông số.

Quy trình triển khai mẫu sau trích xuất nội dung từ CustomNativeTemplateAd:

public const int NATIVE_AD_TEMPLATE_1 = 10063170;
public const int NATIVE_AD_TEMPLATE_2 = 10063171;

private boolean adLoaded;
private Texture2d mainImageTexture;
private string headline;
private CustomNativeTemplateAd customNativeTemplateAd;
...

void Update()
{
    if(adLoaded)
    {
        mainImageTexture = customNativeTemplateAd.GetTexture2D("MainImage");
        headline = customNativeTemplateAd.GetText("Headline");

        string templateId = customNativeTemplateAd.GetCustomTemplateId();
        if (templateId == NATIVE_AD_TEMPLATE_1)
        {
            ...
        }
        else if (templateId == NATIVE_AD_TEMPLATE_2)
        {
            ...
        }
        ...
        adLoaded = false;
    }
}
...

void HandleCustomNativeAdLoaded(object sender, CustomNativeEventArgs args)
{
    customNativeTemplateAd = args.nativeAd;
    adLoaded = true;
    ...
}

Xử lý số lần nhấp và số lần hiển thị của định dạng quảng cáo gốc tùy chỉnh

Với định dạng quảng cáo gốc tùy chỉnh, ứng dụng của bạn chịu trách nhiệm ghi lại số lần hiển thị và báo cáo các sự kiện lần nhấp với SDK.

Ghi lại số lần hiển thị

Để ghi lại một lần hiển thị cho định dạng quảng cáo gốc tùy chỉnh, hãy gọi phương thức RecordImpression() trên CustomNativeTemplateAd tương ứng:

customNativeTemplateAd.RecordImpression();

Báo cáo số lần nhấp

Để báo cáo cho SDK biết rằng một lần nhấp đã xảy ra trên một nội dung, hãy gọi phương thức PerformClick() trên CustomNativeTemplateAd tương ứng và chuyển tên của nội dung được nhấp vào. Ví dụ: nếu bạn có một nội dung trong định dạng quảng cáo gốc tùy chỉnh có tên là "MainImage" và muốn báo cáo một lần nhấp vào kết cấu tương ứng với nội dung đó, mã của bạn sẽ trông giống như sau:

customNativeTemplateAd.PerformClick("MainImage");

Khi một lần nhấp được báo cáo trên quảng cáo mẫu tùy chỉnh, SDK có thể có 2 phản hồi theo thứ tự sau:

  1. Tìm trình phân giải nội dung cho URL liên kết sâu của quảng cáo và bắt đầu phân giải nội dung đầu tiên.
  2. Mở một trình duyệt và điều hướng đến URL đích truyền thống của quảng cáo đó.

Hành động nhấp tùy chỉnh

Bạn có thể quyết định rằng bạn muốn tự xử lý hành động nhấp cho định dạng quảng cáo gốc tùy chỉnh thay vì đưa người dùng đến một liên kết sâu hoặc trình duyệt web. Bạn có thể thực hiện việc này bằng cách cung cấp một Action<CustomNativeTemplateAd, string> tùy chọn trong phương thức AdLoader.Builder.forCustomTemplateAd(). Khi đặt hành động nhấp tùy chỉnh này, bạn sẽ ghi đè hành vi nhấp của SDK được mô tả ở trên. Dưới đây là ví dụ về cách sử dụng hành động nhấp tùy chỉnh để ghi nhật ký lần nhấp cho một nội dung cụ thể:

private void LoadCustomNativeTemplateAd()
{
    AdLoader adLoader = new AdLoader.Builder("/6499/example/native")
        .forCustomNativeAd("10063170", HandleCustomNativeAdClicked)
        .Build();
    adLoader.onCustomNativeTemplateAdLoaded += HandleCustomNativeAdLoaded;
    adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;
    adLoader.LoadAd(createAdRequest());
}

private void HandleCustomNativeAdClicked(CustomNativeTemplateAd customNativeTemplateAd, string assetName)
{
    Debug.Log("Native ad asset with name " + assetName + " was clicked.");
}