تبلیغات بنری

تبلیغات بنری یک نقطه را در طرح‌بندی برنامه اشغال می‌کنند، چه در بالا یا پایین صفحه دستگاه. در حالی که کاربران در حال تعامل با برنامه هستند، روی صفحه می مانند و می توانند پس از مدت زمان مشخصی به طور خودکار بازخوانی شوند. اگر در زمینه تبلیغات موبایلی تازه کار هستید، آنها مکان خوبی برای شروع هستند. مطالعه موردی .

پیش نیازها

همیشه با تبلیغات آزمایشی تست کنید

هنگام ساخت و آزمایش برنامه های خود، مطمئن شوید که از تبلیغات آزمایشی به جای تبلیغات زنده و تولیدی استفاده می کنید. عدم انجام این کار می تواند منجر به تعلیق حساب شما شود.

ساده ترین راه برای بارگیری تبلیغات آزمایشی استفاده از شناسه واحد آگهی آزمایشی اختصاصی ما برای بنرها است که در هر پلتفرم دستگاه متفاوت است:

  • اندروید: ca-app-pub-3940256099942544/6300978111
  • iOS: ca-app-pub-3940256099942544/2934735716

این شناسه‌های واحد تبلیغات به‌طور ویژه پیکربندی شده‌اند تا برای هر درخواستی، آگهی‌های آزمایشی را برگردانند، و شما می‌توانید هنگام کدنویسی، آزمایش و اشکال‌زدایی از آن در برنامه‌های خود استفاده کنید. فقط مطمئن شوید که قبل از انتشار برنامه خود، آن را با شناسه واحد تبلیغاتی خود جایگزین کنید.

برای کسب اطلاعات بیشتر در مورد نحوه عملکرد تبلیغات آزمایشی SDK Ads Mobile، به Test Ads مراجعه کنید.

پیاده سازی

یک 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 به یک Activity Android یا یک اشاره گر به یک iOS UIView است که به یک نوع 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 ، به استفاده از Futures برای نظارت بر وضعیت تکمیل فراخوانی متدها مراجعه کنید.

موقعیت آگهی را تنظیم کنید

هر زمان که بخواهید می توانید موقعیت 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 ارتفاع تطبیقی بنر تطبیقی گوشی و تبلت N/A

اندازه های تبلیغاتی سفارشی

برای تعریف اندازه بنر سفارشی، ابعاد دلخواه خود را با استفاده از firebase::gma::AdSize با پارامترهای عرض و ارتفاع تنظیم کنید، همانطور که در اینجا نشان داده شده است:

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

منابع اضافی

مثال در GitHub

داستان های موفقیت