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

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

البدء

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

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

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

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

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

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

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

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

Android

ca-app-pub-3940256099942544/2247696110

iOS

ca-app-pub-3940256099942544/3986624511

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

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

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

الخطوات التالية