الإعلانات البينية

"الإعلانات البينية" هي إعلانات بملء الشاشة تغطي واجهة التطبيق المضيف. ويتم عرضها عادةً في نقاط انتقال طبيعية خلال مسار عرض التطبيق، على سبيل المثال في الوقت الفاصل بين مستويَين في لعبة. عندما يعرض تطبيق "إعلانًا بينيًا"، يمكن للمستخدم النقر على الإعلان والانتقال إلى وجهته أو إغلاقه والعودة إلى التطبيق. دراسة حالة:

يشرح هذا الدليل كيفية دمج "الإعلانات البينية" في تطبيق Unity.

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

قبل المتابعة، عليك إعداد Google Mobile Ads Unity Plugin.

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

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

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

Android

ca-app-pub-3940256099942544/1033173712

iOS

ca-app-pub-3940256099942544/4411468910

إعداد Google Mobile Ads Unity Plugin

قبل تحميل الإعلانات، يجب أن يبدأ تطبيقك Google Mobile Ads Unity Plugin من خلال طلب MobileAds.Initialize(). يجب تنفيذ هذا الإجراء مرة واحدة فقط، ويُفضَّل أن يكون ذلك عند تشغيل التطبيق.

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize Google Mobile Ads Unity Plugin.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

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

تحميل الإعلان البيني

يتم تحميل "إعلان بيني" باستخدام الإجراء الثابت Load() في فئة InterstitialAd. تتطلّب طريقة التحميل معرّف وحدة إعلانية، وعنصر AdRequest، ومعالج إكمال يتم استدعاؤه عند نجاح تحميل الإعلان أو تعذّره. يتم توفير عنصر InterstitialAd الذي تم تحميله كمَعلمة في معالج الإكمال. يحمّل المثال التالي InterstitialAd:

// Create our request used to load the ad.
var adRequest = new AdRequest();

// Send the request to load the ad.
InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd ad, LoadAdError error) =>
{
    if (error != null)
    {
        // The ad failed to load.
        return;
    }
    // The ad loaded successfully.
});

استبدِل AD_UNIT_ID بمعرّف الوحدة الإعلانية.

عرض "الإعلان البيني"

لعرض "إعلان بيني" تم تحميله، استدعِ طريقة Show() في مثيل InterstitialAd. قد يتم عرض الإعلانات مرة واحدة لكل تحميل. استخدِم طريقة CanShowAd() للتحقّق من أنّ الإعلان جاهز للعرض.

if (interstitialAd != null && interstitialAd.CanShowAd())
{
    interstitialAd.Show();
}

الاستماع إلى أحداث "الإعلانات البينية"

لتخصيص سلوك إعلانك بشكل أكبر، يمكنك ربط عدد من الأحداث في مراحل نشاط الإعلان. يستمع المثال التالي إلى أحداث الإعلانات:

interstitialAd.OnAdPaid += (AdValue adValue) =>
{
    // Raised when the ad is estimated to have earned money.
};
interstitialAd.OnAdImpressionRecorded += () =>
{
    // Raised when an impression is recorded for an ad.
};
interstitialAd.OnAdClicked += () =>
{
    // Raised when a click is recorded for an ad.
};
interstitialAd.OnAdFullScreenContentOpened += () =>
{
    // Raised when the ad opened full screen content.
};
interstitialAd.OnAdFullScreenContentClosed += () =>
{
    // Raised when the ad closed full screen content.
};
interstitialAd.OnAdFullScreenContentFailed += (AdError error) =>
{
    // Raised when the ad failed to open full screen content.
};

إزالة الإعلان البيني

عند الانتهاء من استخدام InterstitialAd، تأكَّد من استدعاء طريقة Destroy() قبل إسقاط مرجعك إليها:

if (interstitialAd != null)
{
    interstitialAd.Destroy();
}

يؤدي ذلك إلى إعلام المكوّن الإضافي بأنّ العنصر لم يعُد مستخدَمًا وأنّ الذاكرة التي يشغلها يمكن استعادتها. ويؤدي عدم استدعاء هذه الطريقة إلى حدوث تسرُّب في الذاكرة.

التحميل المُسبق للإعلان البيني التالي

"الإعلانات البينية" هي عناصر تُستخدَم لمرة واحدة. وهذا يعني أنّه بعد عرض "إعلان بيني"، لا يمكن استخدام العنصر مرة أخرى. لطلب إعلان بيني آخر، أنشئ عنصر InterstitialAd جديدًا.

لإعداد "إعلان بيني" لفرصة ظهور الإعلان التالية، عليك تحميل "الإعلان البيني" مسبقًا بعد ظهور حدث الإعلان OnAdFullScreenContentClosed أو OnAdFullScreenContentFailed.

interstitialAd.OnAdFullScreenContentClosed += () =>
{
    // Reload the ad so that we can show another as soon as possible.
    var adRequest = new AdRequest();
    InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd ad, LoadAdError error) =>
    {
        // Handle ad loading here.
    });
};

أفضل الممارسات

حدِّد ما إذا كانت "الإعلانات البينية" هي النوع المناسب من الإعلانات لتطبيقك.
تعمل "الإعلانات البينية" بشكل أفضل في التطبيقات التي تتضمّن نقاط انتقال طبيعية. ويتم إنشاء هذه النقطة عند إكمال مهمة في التطبيق، مثل مشاركة صورة أو إكمال مستوى في اللعبة. تأكَّد من تحديد المواضع المناسبة في مسار تطبيقك لعرض "الإعلانات البينية" وكيفية تفاعل المستخدم معها.
أوقِف الإجراء مؤقتًا عند عرض "إعلان بيني".
هناك عدة أنواع مختلفة من "الإعلانات البينية"، مثل الإعلانات النصية أو المصوّرة أو إعلانات الفيديو. من المهم التأكّد من أنّه عندما يعرض تطبيقك إعلانًا بينيًا، يتم أيضًا تعليق استخدامه لبعض الموارد للسماح للإعلان بالاستفادة منها. على سبيل المثال، عند إجراء طلب لعرض "إعلان بيني"، تأكَّد من إيقاف أي صوت يصدره تطبيقك مؤقتًا. ويمكنك استئناف تشغيل الأصوات في الحدث OnAdFullScreenContentClosed()، الذي يمكن استدعاؤه عندما ينتهي المستخدم من التفاعل مع الإعلان. بالإضافة إلى ذلك، ننصحك بإيقاف أي مهام حسابية مكثفة مؤقتًا، مثل حلقة الألعاب، أثناء عرض الإعلان. يضمن ذلك عدم مواجهة المستخدم لرسومات بطيئة أو غير مستجيبة أو فيديو متقطّع.
لا تغمر المستخدم بالإعلانات.
قد تبدو زيادة معدّل تكرار "الإعلانات البينية" في تطبيقك طريقة رائعة لزيادة الإيرادات، لكنّها قد تؤدي أيضًا إلى تدهور تجربة المستخدم وانخفاض نسب النقر إلى الظهور. تأكَّد من عدم مقاطعة المستخدمين بشكل متكرر لدرجة تمنعهم من الاستمتاع باستخدام تطبيقك.

موارد إضافية

* مثال على حالة استخدام