تبلیغات بنری یک نقطه را در طرحبندی برنامه اشغال میکنند، چه در بالا یا پایین صفحه دستگاه. در حالی که کاربران در حال تعامل با برنامه هستند، روی صفحه می مانند و می توانند پس از مدت زمان مشخصی به طور خودکار بازخوانی شوند. اگر در زمینه تبلیغات موبایلی تازه کار هستید، آنها مکان خوبی برای شروع هستند. مطالعه موردی .
پیش نیازها
- کامل شروع کنید .
- (فقط اندروید) آشنایی با کار با مراجع JNI
jobject
(به نکات Android JNI مراجعه کنید).
همیشه با تبلیغات آزمایشی تست کنید
هنگام ساخت و آزمایش برنامه های خود، مطمئن شوید که از تبلیغات آزمایشی به جای تبلیغات زنده و تولیدی استفاده می کنید. عدم انجام این کار می تواند منجر به تعلیق حساب شما شود.
ساده ترین راه برای بارگیری تبلیغات آزمایشی استفاده از شناسه واحد آگهی آزمایشی اختصاصی ما برای بنرها است که در هر پلتفرم دستگاه متفاوت است:
- اندروید:
ca-app-pub-3940256099942544/6300978111
- iOS:
ca-app-pub-3940256099942544/2934735716
این شناسههای واحد تبلیغات بهطور ویژه پیکربندی شدهاند تا برای هر درخواستی، آگهیهای آزمایشی را برگردانند، و شما میتوانید هنگام کدنویسی، آزمایش و اشکالزدایی از آن در برنامههای خود استفاده کنید. فقط مطمئن شوید که قبل از انتشار برنامه خود، آن را با شناسه واحد تبلیغاتی خود جایگزین کنید.
برای کسب اطلاعات بیشتر در مورد نحوه عملکرد تبلیغات آزمایشی SDK Ads Mobile، به Test Ads مراجعه کنید.
پیاده سازی
یک 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
به یکActivity
Android یا یک اشاره گر به یک iOSUIView
است که به یک نوع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
، به استفاده از 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
- کد منبع برنامه شروع سریع نمونه ما را در GitHub مشاهده کنید.