מודעות באנר

מודעות באנר מוצגות במיקום ספציפי בתוך הפריסה של האפליקציה, בחלק העליון או התחתון של מסך המכשיר. הן מופיעות במסך כשהמשתמשים מבצעים אינטראקציה באפליקציה, ומתרעננות באופן אוטומטי אחרי פרק זמן מסוים. אם אתם רק מתחילים לפרסם בנייד, זה מקום מצוין להתחיל בו. מקרה לדוגמה.

דרישות מוקדמות

בדיקה תמידית באמצעות מודעות בדיקה

כשאתם בונים ובודקים אפליקציות, הקפידו להשתמש במודעות בדיקה ולא במודעות חיות בסביבת ייצור. ניסיון לעשות זאת עלול להוביל להשעיית החשבון.

הדרך הקלה ביותר לטעון מודעות בדיקה היא באמצעות מזהה יחידת המודעות הייעודית לבדיקה בבאנרים, שמשתנה בהתאם לפלטפורמה של המכשיר:

  • Android: ‏ca-app-pub-3940256099942544/6300978111
  • iOS: ‏ca-app-pub-3940256099942544/2934735716

המזהים של יחידות המודעות האלה הוגדרו במיוחד כך שיחזירו מודעות בדיקה לכל בקשה, ואתם מוזמנים להשתמש בהם באפליקציות שלכם במהלך תכנות, בדיקה וניפוי באגים. אל תשכחו להחליף אותו במזהה יחידת המודעות שלכם לפני פרסום האפליקציה.

מידע נוסף על אופן הפעולה של מודעות הבדיקה של Mobile Ads SDK זמין במאמר מודעות בדיקה.

הטמעה

הגדרת AdView

מודעות באנר מוצגות באובייקטים של AdView, כך שהשלב הראשון לשילוב מודעות באנר הוא ליצור ולמקם AdView.

  1. יש להוסיף את הכותרת הבאה לקוד C++ של האפליקציה:

     #include "firebase/gma/ad_view.h"
    
  2. הצהרה ואובייקט של אובייקט AdView:

      firebase::gma::AdView* ad_view;
      ad_view = new firebase::gma::AdView();
    
  3. יוצרים AdSize ומפעילים את תצוגת המודעה באמצעות תצוגת ההורה AdParent. תצוגת ההורה היא הפניית JNI jobject ל-Android Activity או מצביע ל-iOS UIView מסוג cast 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(my_ad_parent);
     firebase::Future result =
       ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner);
    
  4. כחלופה לשימור העתיד כמשתנה, אפשר לבדוק מדי פעם את הסטטוס של פעולת האתחול על ידי הפעלת 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.
      }
    
  5. למידע נוסף על עבודה עם 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();

אירועי מודעות

ב-Google Mobile Ads C++ SDK יש כיתה 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);

בטבלה שבהמשך מפורטים הגדלים הסטנדרטיים של מודעות באנר.

גודל בנקודות (WxH) תיאור זמינות firebase::gma::AdSize קבוע
320x50 כרזה טלפונים וטאבלטים kBanner
320x100 מודעת באנר גדולה טלפונים וטאבלטים kLargeBanner
300x250 מלבן בינוני של IAB טלפונים וטאבלטים kMediumRectangle
468x60 באנר בגודל מלא של IAB טאבלטים kFullBanner
728x90 רשימת המובילים של IAB טאבלטים kLeaderboard
רוחב ניתן x גובה מותאם מודעת באנר מותאמת טלפונים וטאבלטים לא רלוונטי

גדלים מותאמים אישית של מודעות

כדי להגדיר גודל מותאם אישית של מודעת באנר, מגדירים את המימדים הרצויים באמצעות המבנה firebase::gma::AdSize עם פרמטרים של רוחב וגובה, כפי שמוצג כאן:

firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);

מקורות מידע נוספים

דוגמה ב-GitHub

סיפורי הצלחה