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

Nhà xuất bản Ad Manager có thể tạo định dạng quảng cáo gốc riêng bằng cách xác định danh sách tuỳ chỉnh chứa các thành phần. Những định dạng này được gọi là định dạng quảng cáo gốc tuỳ chỉnh và có thể dùng với quảng cáo đặt trước. Quảng cáo gốc tuỳ chỉnh giúp nhà xuất bản chuyển dữ liệu chuỗi và hình ảnh tuỳ ý đến ứng dụng của họ. Dữ liệu này được biểu thị bằng đối tượng CustomNativeAd.

Tải quảng cáo gốc tuỳ chỉnh

Quảng cáo gốc tuỳ chỉnh được tải bằng cách sử dụng đối tượng AdLoader. Phương thức ForCustomNativeAd() định cấu hình AdLoader để xử lý các quảng cáo gốc tuỳ chỉnh. Có 2 thông số cho phương thức này:

  • formatId của quảng cáo tuỳ chỉnh mà AdLoader sẽ yêu cầu. Mỗi định dạng quảng cáo gốc tuỳ chỉnh đều được liên kết với một giá trị mã định dạng. Thông số này biểu thị định dạng mà ứng dụng của bạn muốn AdLoader yêu cầu.
  • Action<CustomNativeAd, string> (không bắt buộc) được gọi khi người dùng nhấp vào quảng cáo.

Quảng cáo gốc tuỳ chỉnh được tải thông qua lớp AdLoader. Lớp này có lớp AdLoader.Builder riêng để tuỳ chỉnh trong khi tạo. Phương thức ForCustomNativeAd() sẽ định cấu hình AdLoader để xử lý quảng cáo gốc.

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

Vì một đơn vị quảng cáo có thể được thiết lập để phân phát nhiều định dạng quảng cáo gốc tuỳ chỉnh, ForCustomNativeAd() có thể được gọi nhiều lần với nhiều mã định dạng khác nhau để chuẩn bị trình tải quảng cáo cho nhiều hơn một định dạng quảng cáo gốc tuỳ chỉnh có thể có.

Sự kiện quảng cáo gốc tuỳ 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 một quảng cáo gốc tuỳ chỉnh. Ví dụ bên dưới minh hoạ cách đăng ký các sự kiện quảng cáo gốc tuỳ chỉnh trên trình tải quảng cáo:

private AdLoader adLoader;
adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;

Phương thức HandleCustomNativeAdLoaded() chứa thông số CustomNativeAdEventArgs. Có thể truy cập quảng cáo gốc tuỳ chỉnh đã tải thông qua thông số sự kiện này, như minh hoạ dưới đây:

void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
    this.customNativeAd = args.nativeAd;
}

Phương thức HandleCustomNativeAdFailedToLoad() chứa thông số AdFailedToLoadEventArgs. Có thể truy cập thông báo lỗi bằng cách gọi phương thức GetMessage trên trường LoadAdError, như minh hoạ dưới đây:

void HandleCustomNativeAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    string message = args.LoadAdError.GetMessage();
    Debug.Log("Ad Loader fail event received with message: " + message);
}

Hiển thị định dạng quảng cáo gốc tuỳ chỉnh

Quảng cáo gốc tuỳ chỉnh không giới hạn số lượng thành phần văn bản và hình ảnh do người dùng xác định. Có thể truy cập những thành phần này thông qua lớp CustomNativeAd. Lớp này cung cấp phương thức GetTexture2D()GetText() để lấy mã biến của trường định dạng làm thông số.

Dưới đây là một ví dụ triển khai sẽ truy cập các thành phần từ một quảng cáo gốc tuỳ chỉnh:

private bool adLoaded;
private Texture2D mainImageTexture;
private string headline;
private CustomNativeAd customNativeAd;
...

void Update()
{
    if(adLoaded)
    {
        mainImageTexture = customNativeAd.GetTexture2D("MainImage");
        headline = customNativeAd.GetText("Headline");
        adLoaded = false;
    }
}
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
    customNativeAd = args.nativeAd;
    adLoaded = true;
    ...
}

Xử lý lượt hiển thị và lượt nhấp của quảng cáo gốc tuỳ chỉnh

Với quảng cáo gốc tuỳ chỉnh, ứng dụng của bạn có trách nhiệm ghi lại lượt hiển thị và báo cáo sự kiện nhấp chuột cho SDK.

Ghi lại lượt hiển thị

Để ghi lại lượt hiển thị cho một quảng cáo tuỳ chỉnh, hãy gọi phương thức RecordImpression() trên CustomNativeAd tương ứng:

customNativeAd.RecordImpression();

Báo cáo lượt nhấp

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

customNativeAd.PerformClick("MainImage");

Phản hồi hành động nhấp tuỳ chỉnh

Khi một lượt nhấp được báo cáo trên một quảng cáo tuỳ chỉnh, SDK có thể 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 rồi bắt đầu trình phân giải đầu tiên phân giải nội dung.

  2. Mở một trình duyệt rồi chuyển đến URL đích thường dùng của quảng cáo đó.

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

private void LoadCustomNativeAd()
{
    AdLoader adLoader = new AdLoader.Builder("/6499/example/native")
            .ForCustomNativeAd("10063170", HandleCustomNativeAdClicked)
            .Build();
    adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
    adLoader.LoadAd(createAdRequest());
}

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