เริ่มต้นใช้งาน
ระบบจะแสดงโฆษณาเนทีฟซ้อนทับต่อผู้ใช้ผ่านคอมโพเนนต์ UI ที่เป็นเนทีฟของแพลตฟอร์ม โดยโฆษณาเหล่านี้จะแสดงเป็นโฆษณาซ้อนทับที่ด้านบนของแอปพลิเคชัน ซึ่งคล้ายกับวิธีที่โฆษณาแบนเนอร์ทำงาน แต่มีความสามารถในการปรับแต่งลักษณะที่ปรากฏของโฆษณาได้
โฆษณาเนทีฟซ้อนทับรองรับการทําสื่อกลางและการแสดงโฆษณาวิดีโอ ซึ่งเป็นข้อได้เปรียบที่สำคัญของ โฆษณาเนทีฟซ้อนทับเหนือ โฆษณาเนทีฟ
คู่มือนี้จะแสดงวิธีใช้โฆษณาเนทีฟซ้อนทับในแอป Unity รวมถึงสิ่งที่สำคัญบางอย่างที่ควรพิจารณาในระหว่างดำเนินการ
ข้อกำหนดเบื้องต้น
ก่อนดำเนินการต่อ ให้ทำดังนี้
- ตั้งค่า Google Mobile Ads Unity Plugin
- ติดตั้ง Unity Plugin เวอร์ชัน 9.0.0 ขึ้นไป
ทดสอบด้วยโฆษณาทดสอบเสมอ
โค้ดตัวอย่างต่อไปนี้มีรหัสหน่วยโฆษณาที่คุณใช้เพื่อขอ โฆษณาทดสอบได้ ซึ่งได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบแทน โฆษณาจริงสำหรับทุกคำขอ จึงใช้งานได้อย่างปลอดภัย
อย่างไรก็ตาม หลังจากลงทะเบียนแอปในอินเทอร์เฟซเว็บของ Ad Manager และสร้างรหัสหน่วยโฆษณา ของคุณเองเพื่อใช้ในแอปแล้ว ให้กำหนดค่าอุปกรณ์เป็นอุปกรณ์ทดสอบ อย่างชัดแจ้งในระหว่าง การพัฒนา
/21775744923/example/native
โหลดโฆษณาเนทีฟซ้อนทับ
การโหลดโฆษณาเนทีฟซ้อนทับทำได้โดยใช้เมธอด Load() แบบคงที่ในคลาส NativeOverlayAd ระบบจะระบุออบเจ็กต์ NativeOverlayAd ที่โหลดแล้วเป็นพารามิเตอร์ใน Completion Handler
โค้ดต่อไปนี้ใช้ NativeOverlayAd เพื่อโหลดโฆษณา
// This ad unit is configured to always serve test ads.
private string _adUnitId = "/21775744923/example/native";
private NativeOverlayAd _nativeOverlayAd;
/// <summary>
/// Loads the ad.
/// </summary>
public void LoadAd()
{
// Clean up the old ad before loading a new one.
if (_nativeOverlayAd != null)
{
DestroyAd();
}
Debug.Log("Loading native overlay ad.");
// Create a request used to load the ad.
var adRequest = new AdRequest();
// Optional: Define native ad options.
var options = new NativeAdOptions
{
AdChoicesPosition = AdChoicesPlacement.TopRightCorner,
MediaAspectRatio = NativeMediaAspectRatio.Any,
};
// Send the request to load the ad.
NativeOverlayAd.Load(_adUnitId, adRequest, options,
(NativeOverlayAd ad, LoadAdError error) =>
{
if (error != null)
{
Debug.LogError("Native Overlay ad failed to load an ad " +
" with error: " + error);
return;
}
// The ad should always be non-null if the error is null, but
// double-check to avoid a crash.
if (ad == null)
{
Debug.LogError("Unexpected error: Native Overlay ad load event " +
" fired with null ad and null error.");
return;
}
// The operation completed successfully.
Debug.Log("Native Overlay ad loaded with response : " +
ad.GetResponseInfo());
_nativeOverlayAd = ad;
// Register to ad events to extend functionality.
RegisterEventHandlers(ad);
});
}
แสดงผลและจัดสไตล์โฆษณาเนทีฟซ้อนทับ
ระบบจะแสดงผลโฆษณาเนทีฟซ้อนทับโดยใช้ NativeTemplateStyle คลาสนี้กำหนดฟิลด์ที่ช่วยให้คุณปรับแต่งลักษณะที่ปรากฏของโฆษณาได้
TemplateID เป็นสตริงที่จำเป็นซึ่งกำหนดเทมเพลตเนทีฟที่ใช้แสดงผลโฆษณาซ้อนทับเนทีฟ ใช้ค่าคงที่ NativeTemplateID เพื่อเลือกเทมเพลตเนทีฟที่เหมาะสมสำหรับโฆษณา
โค้ดต่อไปนี้แสดงผลโฆษณาเนทีฟซ้อนทับด้วยเทมเพลตขนาดกลางและสไตล์ที่กำหนดเอง
/// <summary>
/// Renders the ad.
/// </summary>
public void RenderAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Rendering Native Overlay ad.");
// Define a native template style with a custom style.
var style = new NativeTemplateStyle
{
TemplateID = NativeTemplateID.Medium,
MainBackgroundColor = Color.red,
CallToActionText = new NativeTemplateTextStyles
{
BackgroundColor = Color.green,
FontColor = Color.white,
FontSize = 9,
Style = NativeTemplateFontStyle.Bold
}
};
// Renders a native overlay ad at the default size
// and anchored to the bottom of the screne.
_nativeOverlayAd.RenderTemplate(style, AdPosition.Bottom);
}
}
แสดงและซ่อนโฆษณาเนทีฟซ้อนทับ
โค้ดต่อไปนี้แสดงวิธีแสดงโฆษณาเนทีฟซ้อนทับที่โหลดแล้ว
/// <summary>
/// Shows the ad.
/// </summary>
public void ShowAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Showing Native Overlay ad.");
_nativeOverlayAd.Show();
}
}
ซ่อนโฆษณาเนทีฟซ้อนทับ
โค้ดต่อไปนี้แสดงวิธีซ่อนโฆษณาเนทีฟซ้อนทับ
/// <summary>
/// Hides the ad.
/// </summary>
public void HideAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Hiding Native Overlay ad.");
_nativeOverlayAd.Hide();
}
}
ทำลายโฆษณาเนทีฟซ้อนทับ
เมื่อใช้โฆษณาเนทีฟซ้อนทับเสร็จแล้ว ให้เรียกใช้ Destroy() เพื่อปล่อยทรัพยากร
/// <summary>
/// Destroys the native overlay ad.
/// </summary>
public void DestroyAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Destroying native overlay ad.");
_nativeOverlayAd.Destroy();
_nativeOverlayAd = null;
}
}