ผู้เผยแพร่โฆษณา 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);
}
แสดงรูปแบบโฆษณาเนทีฟที่กำหนดเอง
โฆษณาเนทีฟที่กำหนดเองรองรับชิ้นงานรูปภาพและข้อความที่ผู้ใช้กำหนดได้ไม่จำกัดจำนวน คุณเข้าถึงชิ้นงานเหล่านี้ได้ผ่านคลาส 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 ตามลำดับต่อไปนี้
ค้นหาตัวแก้ปัญหาเนื้อหาสำหรับ URL Deep Link ของโฆษณาและเริ่มตัวแรกที่แก้ปัญหาได้
เปิดเบราว์เซอร์และไปที่ 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.");
}