الإعلانات المدمجة مع المحتوى التي تظهر على سطح الفيديو

اختيار النظام الأساسي: Android جديد Android iOS Flutter Unity

البدء

تظهر "الإعلانات المدمجة مع المحتوى والتي تظهر على سطح الفيديو" للمستخدمين من خلال مكوّنات واجهة مستخدم أصلية للنظام الأساسي. تظهر هذه الإعلانات على شكل تراكب فوق التطبيق. يشبه ذلك طريقة عمل "إعلانات البانر"، ولكن مع إمكانية تخصيص مظهر الإعلانات.

تتوافق "الإعلانات المدمجة مع المحتوى والتي تظهر على سطح الفيديو" مع التوسّط والإعلانات المرئية. هذه ميزة رئيسية تتفوّق بها "الإعلانات المدمجة مع المحتوى والتي تظهر على سطح الفيديو" على "الإعلانات المدمجة مع المحتوى".

يوضّح لك هذا الدليل كيفية عرض "الإعلانات المدمجة مع المحتوى والتي تظهر على سطح الفيديو" في تطبيق Unity، بالإضافة إلى بعض الاعتبارات المهمة على طول الطريق.

المتطلبات الأساسية

قبل المتابعة، يُرجى تنفيذ ما يلي:

الاختبار دائمًا باستخدام الإعلانات الاختبارية

يحتوي نموذج الرمز البرمجي التالي على رقم تعريف وحدة إعلانية يمكنك استخدامه لطلب إعلانات اختبارية. تم إعداده خصيصًا لعرض إعلانات اختبارية بدلاً من الإعلانات النهائية لكل طلب، ما يجعله آمنًا للاستخدام.

ومع ذلك، بعد تسجيل تطبيق في واجهة مستخدم الويب في Ad Manager وإنشاء أرقام تعريف الوحدات الإعلانية الخاصة بك لاستخدامها في تطبيقك، عليك إعداد جهازك بشكل صريح على أنّه جهاز اختباري أثناء عملية التطوير.

/21775744923/example/native

تحميل الإعلان الذي يظهر على سطح الفيديو

يتم تحميل إعلان تراكبي أصلي باستخدام الطريقة الثابتة Load() في فئة NativeOverlayAd. يتم توفير عنصر NativeOverlayAd الذي تم تحميله كمعلَمة في معالج الإكمال.

يستخدم الرمز البرمجي التالي 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;
    }
}