โฆษณาซ้อนทับแบบเนทีฟ

เลือกแพลตฟอร์ม: Android iOS Flutter Unity

เริ่มต้นใช้งาน

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

โฆษณาซ้อนทับเนทีฟรองรับสื่อกลางและโฆษณาวิดีโอ นี่คือข้อได้เปรียบที่สำคัญ ของโฆษณาซ้อนทับเนทีฟเหนือโฆษณาเนทีฟ

คู่มือนี้แสดงวิธีติดตั้งใช้งานโฆษณาซ้อนทับเนทีฟในแอป Unity รวมถึงสิ่งสำคัญบางอย่างที่ควรพิจารณาในระหว่างดำเนินการ

ข้อกำหนดเบื้องต้น

ทดสอบด้วยโฆษณาทดสอบเสมอ

ตัวอย่างโค้ดต่อไปนี้มีรหัสหน่วยโฆษณาที่คุณใช้เพื่อขอ โฆษณาทดสอบได้ ซึ่งได้รับการกำหนดค่าเป็นพิเศษให้แสดงโฆษณาทดสอบแทน โฆษณาจริงสำหรับทุกคำขอ จึงใช้งานได้อย่างปลอดภัย

อย่างไรก็ตาม หลังจากลงทะเบียนแอปใน อินเทอร์เฟซเว็บของ AdMob และสร้างรหัสหน่วยโฆษณา ของคุณเองเพื่อใช้ในแอปแล้ว ให้กำหนดค่าอุปกรณ์เป็นอุปกรณ์ทดสอบอย่างชัดเจนในระหว่างการพัฒนา

Android

ca-app-pub-3940256099942544/2247696110

iOS

ca-app-pub-3940256099942544/3986624511

โหลดโฆษณาซ้อนทับเนทีฟ

การโหลดโฆษณาซ้อนทับเนทีฟทำได้โดยใช้เมธอด Load() แบบคงที่ในคลาส NativeOverlayAd ระบบจะระบุออบเจ็กต์ NativeOverlayAd ที่โหลดเป็น พารามิเตอร์ใน Completion Handler

โค้ดต่อไปนี้ใช้ NativeOverlayAd เพื่อโหลดโฆษณา



  // These ad units are configured to always serve test ads.
#if UNITY_ANDROID
  private string _adUnitId = "ca-app-pub-3940256099942544/2247696110";
#elif UNITY_IPHONE
  private string _adUnitId = "ca-app-pub-3940256099942544/3986624511";
#else
  private string _adUnitId = "unused";
#endif


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

ขั้นตอนถัดไป