بنرهای تبلیغاتی جایی را در طرحبندی یک برنامه، چه در بالا و چه در پایین صفحه نمایش دستگاه، اشغال میکنند. آنها در حالی که کاربران در حال تعامل با برنامه هستند، روی صفحه میمانند و میتوانند پس از مدت زمان مشخصی به طور خودکار بهروزرسانی شوند. اگر در تبلیغات موبایل تازهکار هستید، آنها نقطه شروع بسیار خوبی هستند. مطالعه موردی .
پیشنیازها
- شروع به کار را کامل کنید.
- (فقط اندروید) آشنایی با کار با ارجاعات JNI
jobject(به نکات JNI اندروید مراجعه کنید).
همیشه با تبلیغات آزمایشی تست کنید
هنگام ساخت و آزمایش برنامههای خود، مطمئن شوید که از تبلیغات آزمایشی به جای تبلیغات زنده و تولیدی استفاده میکنید. عدم انجام این کار میتواند منجر به مسدود شدن حساب شما شود.
سادهترین راه برای بارگذاری تبلیغات آزمایشی، استفاده از شناسه واحد تبلیغاتی آزمایشی اختصاصی ما برای بنرها است که در هر پلتفرم دستگاه متفاوت است:
- اندروید:
ca-app-pub-3940256099942544/6300978111 - iOS:
ca-app-pub-3940256099942544/2934735716
این شناسههای واحد تبلیغاتی بهطور ویژه پیکربندی شدهاند تا برای هر درخواست، تبلیغات آزمایشی را برگردانند و شما میتوانید هنگام کدنویسی، آزمایش و اشکالزدایی از آنها در برنامههای خود استفاده کنید. فقط قبل از انتشار برنامه، مطمئن شوید که آن را با شناسه واحد تبلیغاتی خود جایگزین میکنید.
برای اطلاعات بیشتر در مورد نحوه عملکرد تبلیغات آزمایشی SDK تبلیغات موبایل، به بخش تبلیغات آزمایشی مراجعه کنید.
پیادهسازی
پیکربندی 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اندروید یا یک اشارهگر به یکUIViewiOS است که به یک نوع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();
رویدادهای تبلیغاتی
کیت توسعه نرمافزار 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);
اندازه بنرها
جدول زیر اندازههای استاندارد بنر را نشان میدهد.
| اندازه (به واحد نقطه) (عرض × ارتفاع) | توضیحات | در دسترس بودن | ثابت اندازه تبلیغات فایربیس::gma:: |
|---|---|---|---|
| ۳۲۰x۵۰ | بنر | تلفنها و تبلتها | kBanner |
| ۳۲۰x۱۰۰ | بنر بزرگ | تلفنها و تبلتها | kLargeBanner |
| ۳۰۰x۲۵۰ | مستطیل متوسط IAB | تلفنها و تبلتها | kMediumRectangle |
| ۴۶۸x۶۰ | بنر تمام سایز IAB | قرصها | kFullBanner |
| 728x90 | جدول امتیازات IAB | قرصها | kLeaderboard |
| عرض ارائه شده x ارتفاع تطبیقی | بنر تطبیقی | تلفنها و تبلتها | ناموجود |
اندازههای سفارشی تبلیغات
برای تعریف اندازه بنر سفارشی، ابعاد مورد نظر خود را با استفاده از سازنده firebase::gma::AdSize با پارامترهای عرض و ارتفاع، همانطور که در اینجا نشان داده شده است، تنظیم کنید:
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
منابع اضافی
مثال در گیتهاب
- کد منبع برنامهی شروع سریع نمونهی ما را در گیتهاب مشاهده کنید.