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