تشغل إعلانات البانر موضعًا داخل تصميم التطبيق، سواء في الجزء العلوي أو السفلي من التطبيق شاشة الجهاز. يبقى على الشاشة أثناء تفاعل المستخدمين مع التطبيق، ويمكن إعادة تحميلها تلقائيًا بعد فترة زمنية محددة. إذا كنت جديدًا في إعلانات الجوّال، فإنّها مكان رائع للبدء. دراسة الحالة:
المتطلبات الأساسية
- أكمِل البدء.
- (نظام التشغيل Android فقط) الإلمام بالعمل مع مراجع JNI
jobject
(يُرجى الاطّلاع على نصائح Android JNI).
الاختبار دائمًا باستخدام الإعلانات الاختبارية
عند إنشاء تطبيقاتك واختبارها، احرص على استخدام إعلانات تجريبية بدلاً من إعلانات بث مباشر وقد يؤدي عدم تنفيذ ذلك إلى تعليق حسابك.
إنّ أسهل طريقة لتحميل الإعلانات الاختبارية هي استخدام معرّف الوحدة الإعلانية الاختبارية المخصّص لإعلانات ملفّات البانر، والذي يختلف حسب نظام التشغيل على الجهاز:
- نظام تشغيل Android:
ca-app-pub-3940256099942544/6300978111
- نظام تشغيل iOS:
ca-app-pub-3940256099942544/2934735716
تم إعداد أرقام تعريف الوحدات الإعلانية هذه بشكل خاص لعرض إعلانات اختبارية لكل الطلب، ويمكنك استخدامها في تطبيقاتك الخاصة أثناء الترميز والاختبار تصحيح الأخطاء. ما عليك سوى التأكّد من استبداله برقم تعريف وحدتك الإعلانية قبل نشر التطبيق.
لمزيد من المعلومات عن آلية عمل الإعلانات الاختبارية في حزمة "SDK لإعلانات Google على الأجهزة الجوّالة"، اطّلِع على مقالة الإعلانات الاختبارية.
التنفيذ
إعداد AdView
تظهر إعلانات البانر في AdView
من العناصر، وبالتالي فإن الخطوة الأولى نحو
دمج إعلانات البانر هي إنشاء AdView
وتحديد موضعه.
أضِف الرأس التالي إلى رمز C++ لتطبيقك:
#include "firebase/gma/ad_view.h"
يمكنك تعريف عنصر
AdView
وإنشاء مثيل له:firebase::gma::AdView* ad_view; ad_view = new firebase::gma::AdView();
إنشاء
AdSize
وتهيئة عرض الإعلان باستخدام عنصرAdParent
الرئيسي مشاهدة. العرض الرئيسي هو مرجع JNIjobject
لـ AndroidActivity
أو مؤشر التوجيهUIView
على نظام التشغيل iOS إلى النوعAdParent
:// my_ad_parent is a jobject reference // to an Android Activity or a pointer to an iOS UIView. firebase::gma::AdParent ad_parent = static_cast<firebase::gma::AdParent>(my_ad_parent); firebase::Future
result = ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner); وكبديل للاحتفاظ بالمستقبل كمتغير، يمكنك التحقق بشكل دوري من حالة عملية الإعداد من خلال استدعاء
InitializeLastResult()
في الكائنAdView
. قد يكون هذا مفيدًا ومتابعة عملية الإعداد في حلقة الألعاب العالمية.// Monitor the status of the future in your game loop: firebase::Future<void> result = ad_view->InitializeLastResult(); if (result.status() == firebase::kFutureStatusComplete) { // Initialization completed. if(future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization successful. } else { // An error has occurred. } } else { // Initialization on-going. }
لمزيد من المعلومات حول العمل مع "
firebase::Future
"، يُرجى الاطّلاع على استخدام العقود الآجلة لمراقبة حالة اكتمال الطريقة المكالمات.
تحديد موضع الإعلان
يمكنك ضبط موضع "AdView
" في أي وقت بعد إعداده:
firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);
تحميل إعلان
يمكنك تحميل إعلان بعد إعداد AdView
:
firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result = ad_view->LoadAd(my_ad_request);
يمثِّل AdRequest
عنصر طلب إعلان واحدًا وتحتوي على خصائص
معلومات مثل الاستهداف.
عرض الإعلان
وأخيرًا، يمكنك عرض الإعلان على الشاشة من خلال الاتصال بالرقم Show()
. يمكن استخدام هذه الطريقة
في أي وقت بعد بدء الإعلان:
firebase::Future<void> result = ad_view->Show();
أحداث الإعلانات
توفر حزمة تطوير البرامج (SDK) لإعلانات Google على الأجهزة الجوّالة C++ فئة AdListener
يمكنك تمديدها
ومرِّره إلى AdView::SetListener()
ليتم إعلامك بالتغييرات التي يتم إجراؤها على الإعلان
حالة العرض.
تمديد الطرق في AdListener
هو أمر اختياري، لذلك ما عليك سوى تنفيذ
الطرق التي تريدها. فيما يلي مثال على تنفيذ فئة توسّع جميع
من فئة طرق AdListener
:
class ExampleAdListener : public firebase::gma::AdListener { public: ExampleAdListener() {} void OnAdClicked() override { // This method is invoked when the user clicks the ad. } void OnAdClosed() override { // This method is invoked when the user closes the ad. } void OnAdImpression() override { // This method is invoked when an impression is recorded for an ad. } void OnAdOpened() override { // This method is invoked when an ad opens an overlay that covers the screen. } }; ExampleAdListener* ad_listener = new ExampleAdListener(); ad_view->SetAdListener(ad_listener);
أحجام البانر
يسرد الجدول التالي الأحجام العادية لإعلانات البانر.
الحجم بالنقاط (عرض × ارتفاع) | الوصف | مدى التوفّر | الثابت firebase::gma::AdSize |
---|---|---|---|
320×50 | بانر | الهواتف والأجهزة اللوحية | kBanner |
100x320 | بانر كبير | الهواتف والأجهزة اللوحية | kLargeBanner |
300×250 | مستطيل متوسط وفقًا لمعايير IAB | الهواتف والأجهزة اللوحية | kMediumRectangle |
468×60 | إعلان بانر بالحجم الكامل لمكتب الإعلانات التفاعلية (IAB) | الأجهزة اللوحية | kFullBanner |
728×90 | قائمة الإعلانات المتصدِّرة من مكتب الإعلانات التفاعلية (IAB) | الأجهزة اللوحية | kLeaderboard |
العرض المقدم × الارتفاع التكيُّفي | إعلان البانر التكيُّفي | الهواتف والأجهزة اللوحية | لا ينطبق |
أحجام الإعلانات المخصصة
لتحديد حجم بانر مخصص، اضبط الأبعاد المطلوبة باستخدام
firebase::gma::AdSize
الدالة الإنشائية بمعلمات العرض والارتفاع، كما هو موضح هنا:
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
مراجع إضافية
مثال في GitHub
- اطّلع على رمز المصدر الخاص مثال على تطبيق Quickstart في GitHub.