مشاهدات إعلانات البانر هي إعلانات مصوّرة أو نصية مستطيلة الشكل تشغل مساحة على الشاشة. وتظل معروضة على الشاشة أثناء تفاعل المستخدمين مع التطبيق، ويمكن إعادة تحميلها تلقائيًا بعد فترة زمنية محدّدة. إذا كنت جديدًا في مجال الإعلانات على الأجهزة الجوّالة، ستكون هذه الإعلانات خيارًا رائعًا للبدء. دراسة حالة
يوضّح لك هذا الدليل كيفية دمج عروض البانر في تطبيق Unity. بالإضافة إلى مقتطفات الرموز والتعليمات، يتضمّن الدليل أيضًا معلومات حول تحديد حجم البانرات بشكل صحيح وروابط لمراجع إضافية.
المتطلبات الأساسية
- أكمِل دليل البدء.
اختبار الإعلانات دائمًا باستخدام الإعلانات الاختبارية
يحتوي نموذج الرمز البرمجي التالي على رقم تعريف وحدة إعلانية يمكنك استخدامه لطلب إعلانات اختبارية. تم إعداد هذا المعرّف خصيصًا لعرض إعلانات اختبارية بدلاً من إعلانات فعلية لكل طلب، ما يجعله آمنًا للاستخدام.
ومع ذلك، بعد تسجيل تطبيق في واجهة الويب الخاصة بـ AdMob وإنشاء معرّفات الوحدات الإعلانية الخاصة بك لاستخدامها في تطبيقك، عليك إعداد جهازك بشكل صريح كجهاز اختباري أثناء عملية التطوير.
Android
ca-app-pub-3940256099942544/6300978111
iOS
ca-app-pub-3940256099942544/2934735716
إعداد حزمة تطوير البرامج (SDK) للإعلانات على الأجهزة الجوّالة
قبل تحميل الإعلانات، يجب أن يُعدّ تطبيقك حزمة تطوير البرامج (SDK) لعرض الإعلانات على الأجهزة الجوّالة من خلال استدعاء MobileAds.Initialize()
. يجب إجراء ذلك مرة واحدة فقط، ويُفضّل عند تشغيل التطبيق.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
في حال استخدام التوسّط، انتظِر إلى أن يتم تنفيذ معاودة الاتصال قبل تحميل الإعلانات، لأنّ ذلك سيضمن تهيئة جميع محوّلات التوسّط.
مثال BannerView
يوضّح نموذج الرمز البرمجي أدناه كيفية استخدام عرض البانر. في المثال، يمكنك إنشاء مثيل لعرض بانر، واستخدام AdRequest
لتحميل إعلان في عرض البانر، ثم توسيع إمكاناته من خلال معالجة أحداث مراحل النشاط.
إنشاء طريقة عرض بانر
تتمثّل الخطوة الأولى في استخدام عرض بانر في إنشاء مثيل لعرض بانر
في نص برمجي C# مرفق بـ GameObject
.
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
private string _adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
private string _adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
private string _adUnitId = "unused";
#endif
BannerView _bannerView;
/// <summary>
/// Creates a 320x50 banner view at top of the screen.
/// </summary>
public void CreateBannerView()
{
Debug.Log("Creating banner view");
// If we already have a banner, destroy the old one.
if (_bannerView != null)
{
DestroyAd();
}
// Create a 320x50 banner at top of the screen
_bannerView = new BannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
}
يحتوي الدالّ الإنشائي الخاص بـ BannerView
على المَعلمات التالية:
-
adUnitId
: رقم تعريف الوحدة الإعلانية التي يجب أن تحمّل منهاBannerView
الإعلانات. AdSize
: حجم الإعلان الذي تريد استخدامه للحصول على التفاصيل، يُرجى الاطّلاع على أحجام البانر.AdPosition
: الموضع الذي يجب وضع مشاهدات البانر فيه تعرض القائمةAdPosition
تعداد القيم الصالحة لموضع الإعلان.
لاحظ كيف يتم استخدام الوحدات الإعلانية المختلفة، حسب النظام الأساسي. عليك استخدام وحدة إعلانية على iOS لتقديم طلبات إعلانات على iOS، ووحدة إعلانية على Android لتقديم طلبات على Android.
(اختياري) إنشاء طريقة عرض بانر بموضع مخصّص
للحصول على تحكّم أكبر في موضع عرض BannerView
على الشاشة مقارنةً بما توفّره قيم AdPosition
، استخدِم الدالة الإنشائية التي تتضمّن الإحداثيات x وy كمَعلمات:
// Create a 320x50 banner views at coordinate (0,50) on screen.
_bannerView = new BannerView(_adUnitId, AdSize.Banner, 0, 50);
يتم وضع الزاوية العلوية اليمنى من BannerView
عند قيمتَي x وy اللتين تم تمريرهما إلى الدالة الإنشائية، حيث يكون الموضع الأصلي هو الزاوية العلوية اليمنى من الشاشة.
(اختياري) إنشاء طريقة عرض بانر بحجم مخصّص
بالإضافة إلى استخدام الثابت AdSize
، يمكنك أيضًا تحديد حجم مخصّص لإعلانك:
// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new BannerView(_adUnitId, adSize, AdPosition.Bottom);
تحميل إعلان بانر
لتحميل إعلان، أنشئ AdRequest
ومرِّره إلى الطريقة LoadAd()
.
/// <summary>
/// Creates the banner view and loads a banner ad.
/// </summary>
public void LoadAd()
{
// create an instance of a banner view first.
if(_bannerView == null)
{
CreateBannerView();
}
// create our request used to load the ad.
var adRequest = new AdRequest();
// send the request to load the ad.
Debug.Log("Loading banner ad.");
_bannerView.LoadAd(adRequest);
}
الاستماع إلى الأحداث الناتجة عن عرض البانر
لتخصيص سلوك إعلانك، يمكنك ربط عدد من الأحداث في دورة حياة الإعلان، مثل التحميل أو الفتح أو الإغلاق. للاستماع إلى هذه الأحداث، عليك تسجيل مفوّض:
/// <summary>
/// listen to events the banner view may raise.
/// </summary>
private void ListenToAdEvents()
{
// Raised when an ad is loaded into the banner view.
_bannerView.OnBannerAdLoaded += () =>
{
Debug.Log("Banner view loaded an ad with response : "
+ _bannerView.GetResponseInfo());
};
// Raised when an ad fails to load into the banner view.
_bannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
Debug.LogError("Banner view failed to load an ad with error : "
+ error);
};
// Raised when the ad is estimated to have earned money.
_bannerView.OnAdPaid += (AdValue adValue) =>
{
Debug.Log(String.Format("Banner view paid {0} {1}.",
adValue.Value,
adValue.CurrencyCode));
};
// Raised when an impression is recorded for an ad.
_bannerView.OnAdImpressionRecorded += () =>
{
Debug.Log("Banner view recorded an impression.");
};
// Raised when a click is recorded for an ad.
_bannerView.OnAdClicked += () =>
{
Debug.Log("Banner view was clicked.");
};
// Raised when an ad opened full screen content.
_bannerView.OnAdFullScreenContentOpened += () =>
{
Debug.Log("Banner view full screen content opened.");
};
// Raised when the ad closed full screen content.
_bannerView.OnAdFullScreenContentClosed += () =>
{
Debug.Log("Banner view full screen content closed.");
};
}
إيقاف عرض البانر
عند الانتهاء من استخدام عرض البانر، احرص على استدعاء Destroy()
لتحرير الموارد.
/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyAd()
{
if (_bannerView != null)
{
Debug.Log("Destroying banner view.");
_bannerView.Destroy();
_bannerView = null;
}
}
هذا كل شيء! أصبح تطبيقك الآن جاهزًا لعرض الإعلانات الصورية.
إعادة تحميل إعلان
إذا كنت قد أعددت وحدتك الإعلانية لإعادة التحميل، لن تحتاج إلى طلب إعلان آخر عند تعذُّر تحميل الإعلان. تلتزم حزمة "SDK لإعلانات Google على الأجهزة الجوّالة" بأي معدّل تحديث حدّدته في واجهة مستخدم AdMob. إذا لم تكن قد فعّلت إعادة التحميل، أرسِل طلبًا جديدًا. لمزيد من التفاصيل حول إعادة تحميل الوحدات الإعلانية، مثل ضبط معدّل إعادة التحميل، يُرجى الاطّلاع على ضبط خيار إعادة التحميل التلقائية لإعلانات البانر.
أحجام البانر
يعرض الجدول أدناه أحجام البانرات العادية.
الحجم بوحدات dp (العرض × الارتفاع) | الوصف | مدى التوفّر | AdSize constant |
---|---|---|---|
320×50 | إعلان بانر عادي | الهواتف والأجهزة اللوحية | BANNER |
100x320 | بانر كبير | الهواتف والأجهزة اللوحية | LARGE_BANNER |
300×250 | مستطيل متوسط من IAB | الهواتف والأجهزة اللوحية | MEDIUM_RECTANGLE |
468×60 | بانر كامل الحجم وفقًا لمكتب IAB | الأجهزة اللوحية | FULL_BANNER |
728×90 | لوحة الصدارة IAB | الأجهزة اللوحية | LEADERBOARD |
العرض المقدَّم x الارتفاع التكيّفي | إعلان بانر تكيُّفي | الهواتف والأجهزة اللوحية | لا ينطبق |
عرض الشاشة x 32|50|90 | اللافتة الإعلانية الذكية | الهواتف والأجهزة اللوحية | SMART_BANNER |
مزيد من المعلومات عن إعلانات البانر التكيُّفية، المصمّمة لتحلّ محلّ إعلانات البانر الذكية |
مراجع إضافية
- مثال HelloWorld: تطبيق بسيط لجميع أشكال الإعلانات.