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

البدء

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

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

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

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

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

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

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

ومع ذلك، بعد تسجيل تطبيق في واجهة ويب 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;
    }
}

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