รูปแบบโฆษณาเนทีฟที่กำหนดเอง

ผู้เผยแพร่โฆษณา Ad Manager มีตัวเลือกในการสร้างรูปแบบโฆษณาเนทีฟของตนเองโดยการกำหนดรายการชิ้นงานที่กำหนดเอง ซึ่งเรียกว่ารูปแบบโฆษณาเนทีฟที่กำหนดเอง และใช้กับโฆษณาแบบจองล่วงหน้าได้ โฆษณาเนทีฟที่กำหนดเองช่วยให้ผู้เผยแพร่โฆษณาส่งข้อมูลรูปภาพและสตริงที่กำหนดเองไปยังแอปของตนได้ ข้อมูลนี้แสดงโดยออบเจ็กต์ CustomNativeAd

โหลดโฆษณาเนทีฟที่กำหนดเอง

โฆษณาเนทีฟที่กำหนดเองจะโหลดโดยใช้ออบเจ็กต์ AdLoader เมธอด ForCustomNativeAd() จะกำหนดค่า AdLoader ให้จัดการโฆษณาเนทีฟที่กำหนดเอง วิธีการนี้มีพารามิเตอร์ 2 รายการ ดังนี้

  • formatId ของโฆษณาที่กำหนดเองที่ AdLoader ควรขอ รูปแบบโฆษณาเนทีฟที่กำหนดเองแต่ละรูปแบบจะมีค่ารหัสรูปแบบที่เชื่อมโยงอยู่ พารามิเตอร์นี้ระบุรูปแบบที่แอปต้องการให้ AdLoader ขอ
  • Action<CustomNativeAd, string> (ไม่บังคับ) ที่จะเรียกใช้เมื่อผู้ใช้คลิกโฆษณา

โฆษณาเนทีฟที่กำหนดเองจะโหลดผ่านคลาส AdLoader ซึ่งมีคลาส AdLoader.Builder ของตัวเองเพื่อปรับแต่งในระหว่างการสร้าง เมธอด ForCustomNativeAd() จะกำหนดค่า AdLoader เพื่อจัดการโฆษณาเนทีฟ

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

เนื่องจากสามารถตั้งค่าหน่วยโฆษณาเดียวให้แสดงรูปแบบโฆษณาเนทีฟที่กำหนดเองได้มากกว่า 1 รูปแบบ จึงสามารถเรียกใช้ ForCustomNativeAd() ได้หลายครั้งโดยใช้รหัสรูปแบบที่แตกต่างกันเพื่อเตรียมตัวโหลดโฆษณาสำหรับรูปแบบโฆษณาเนทีฟที่กำหนดเองที่เป็นไปได้มากกว่า 1 รูปแบบ

เหตุการณ์โฆษณาเนทีฟที่กำหนดเอง

คลาส AdLoader มีเหตุการณ์โฆษณาประเภท EventHandler เพื่อแจ้งให้คุณทราบเกี่ยวกับวงจรของโฆษณาเนทีฟที่กำหนดเอง ตัวอย่างด้านล่างแสดงวิธีลงทะเบียนเหตุการณ์โฆษณาเนทีฟที่กำหนดเองในเครื่องมือโหลดโฆษณา

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

เมธอด HandleCustomNativeAdLoaded() มีพารามิเตอร์ CustomNativeAdEventArgs คุณเข้าถึงโฆษณาเนทีฟที่กำหนดเองซึ่งโหลดแล้วได้ผ่านพารามิเตอร์เหตุการณ์นี้ ดังที่แสดงด้านล่าง

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

เมธอด HandleCustomNativeAdFailedToLoad() มีพารามิเตอร์ AdFailedToLoadEventArgs คุณเข้าถึงข้อความแสดงข้อผิดพลาดได้โดยเรียกใช้เมธอด GetMessage ในช่อง LoadAdError ดังที่แสดงด้านล่าง

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

รูปแบบโฆษณาเนทีฟที่กำหนดเองใน Display

โฆษณาเนทีฟที่กำหนดเองรองรับชิ้นงานรูปภาพและชิ้นงานข้อความที่ผู้ใช้กำหนดได้ไม่จำกัดจำนวน ชิ้นงานเหล่านี้เข้าถึงได้ผ่านคลาส CustomNativeAd ซึ่งมีเมธอด GetTexture2D() และ GetText() ที่ใช้รหัสตัวแปรของช่องรูปแบบเป็นพารามิเตอร์

ตัวอย่างการใช้งานที่เข้าถึงชิ้นงานจากโฆษณาเนทีฟที่กำหนดเองมีดังนี้

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;
    ...
}

จัดการการแสดงผลและการคลิกของโฆษณาเนทีฟที่กำหนดเอง

เมื่อใช้โฆษณาเนทีฟที่กำหนดเอง แอปของคุณจะเป็นผู้รับผิดชอบในการบันทึกการแสดงผลและรายงานกิจกรรมการคลิกไปยัง SDK

การแสดงผลของแผ่นเสียง

หากต้องการบันทึกการแสดงผลสำหรับโฆษณาที่กำหนดเอง ให้เรียกใช้เมธอด RecordImpression() ใน CustomNativeAd ที่เกี่ยวข้อง ดังนี้

customNativeAd.RecordImpression();

การคลิกรายงาน

หากต้องการรายงานไปยัง SDK ว่ามีการคลิกเกิดขึ้นในชิ้นงาน ให้เรียกใช้เมธอด PerformClick() ใน CustomNativeAd ที่เกี่ยวข้อง และส่งชื่อของชิ้นงานที่มีการคลิก ตัวอย่างเช่น หากคุณมีชิ้นงานในรูปแบบที่กำหนดเองชื่อ "MainImage" และต้องการรายงานการคลิกพื้นผิวที่สอดคล้องกับชิ้นงานนั้น โค้ดจะมีลักษณะดังนี้

customNativeAd.PerformClick("MainImage");

ตอบสนองต่อการดำเนินการคลิกที่กำหนดเอง

เมื่อมีการรายงานการคลิกในโฆษณาที่กำหนดเอง ระบบจะพยายามตอบกลับจาก SDK ตามลำดับต่อไปนี้

  1. ค้นหา Content Resolver สำหรับ URL ของ Deep Link ของโฆษณา และเริ่มใช้รายการแรกที่แก้ไขได้

  2. เปิดเบราว์เซอร์และไปที่ URL ปลายทางแบบเดิมของโฆษณา

หากต้องการจัดการการดำเนินการคลิกสำหรับรูปแบบโฆษณาเนทีฟที่กำหนดเองด้วยตนเองแทนที่จะนำผู้ใช้ไปยัง Deep Link หรือเว็บเบราว์เซอร์ ให้ระบุ Action<CustomNativeAd, string> ที่ไม่บังคับในเมธอด AdLoader.Builder.ForCustomNativeAd() การตั้งค่าการดำเนินการคลิกที่กำหนดเองนี้จะเป็นการลบล้างลักษณะการคลิกของ SDK ต่อไปนี้คือตัวอย่างที่ใช้การดำเนินการคลิกที่กำหนดเองเพื่อบันทึกการคลิกสำหรับชิ้นงานที่ระบุ

private void LoadCustomNativeAd()
{
    AdLoader adLoader = new AdLoader.Builder("/21775744923/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.");
}