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

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

البدء

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

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

يوضّح لك هذا الدليل كيفية تنفيذ إعلانات البانر الأصلية المتراكبة في تطبيق 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;
    }
}