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

اختيار النظام الأساسي: Android Android (إصدار تجريبي) iOS Flutter Unity

البدء

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

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

يوضّح لك هذا الدليل كيفية تنفيذ إعلانات التراكب الأصلية في تطبيق Unity، بالإضافة إلى بعض النقاط المهمة التي يجب مراعاتها أثناء التنفيذ.

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

  • أكمِل دليل البدء.
  • الإصدار 9.0.0 أو إصدار أحدث من إضافة Unity

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

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

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

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