سبک های بومی

تنظیمات سبک بومی Google Ad Manager را قادر می‌سازد تا رندر تبلیغات بومی شما را بر اساس سبک‌های بومی که در محصول مشخص می‌کنید انجام دهد. ابتدا اندازه و هدف را مشخص کنید. سپس HTML، CSS و جاوا اسکریپت را اضافه کنید تا تبلیغاتی را تعریف کنید که واکنشگرا هستند و نمایش با کیفیتی را در تمام صفحه ها ایجاد کنند. شما نیازی به انجام هیچ یک از رندر ندارید. Ad Manager به طور خودکار سبک بومی مناسب را برای مقصد اعمال می کند. سبک های بومی درست مانند تبلیغات بنری با استفاده از GAMBannerView پیاده سازی می شوند. آنها را می توان با اندازه تبلیغات ثابت که از قبل تعیین شده است، یا اندازه تبلیغ سیال تعیین شده در زمان اجرا استفاده کرد.

پیش نیازها

  • Google Mobile Ads SDK نسخه 7.14.0 یا بالاتر

این راهنما اطلاعاتی در مورد Google Mobile Ads SDK در نظر گرفته است. اگر قبلاً این کار را نکرده‌اید، راهنمای شروع ما را در نظر بگیرید.

اندازه ثابت

سبک های بومی با اندازه ثابت به شما امکان می دهد عرض و ارتفاع تبلیغات بومی را کنترل کنید. برای تنظیم اندازه ثابت، مراحل زیر را دنبال کنید:

  1. یک آیتم خط در رابط کاربری Ad Manager ایجاد کنید و یکی از اندازه های از پیش تعریف شده را از قسمت کشویی فیلد Size انتخاب کنید.

  2. در Interface Builder، عرض و ارتفاع GAMBannerView را طوری تنظیم کنید که با اندازه از پیش تعریف شده ای که در مرحله 1 انتخاب کرده اید مطابقت داشته باشد. می توانید لیستی از اندازه ها و ثابت های GADAdSize مربوط به آنها را در بخش اندازه بنر مشاهده کنید.

پیاده‌سازی سبک‌های بومی با اندازه ثابت به سادگی پیروی از دستورالعمل‌ها در اولین درخواست بنر شما است، اما انعطاف‌پذیری و کنترل بر روی HTML، CSS، و جاوا اسکریپت را به دست می‌آورید تا به تبلیغات بنر خود ظاهر و احساسی طبیعی بدهید که در برنامه شما طبیعی است. .

اندازه مایع

در برخی موارد، اندازه ثابت ممکن است منطقی نباشد. به عنوان مثال، ممکن است بخواهید عرض تبلیغ با محتوای برنامه شما مطابقت داشته باشد، اما به ارتفاع آن نیاز داشته باشید تا به صورت پویا و متناسب با محتوای تبلیغ تنظیم شود. برای رسیدگی به این مورد، می‌توانید Fluid به‌عنوان اندازه تبلیغ در رابط کاربری Ad Manager تعیین کنید، که نشان می‌دهد اندازه آگهی در زمان اجرا در برنامه تعیین می‌شود. SDK یک ثابت GADAdSize ویژه، kGADAdSizeFluid را برای رسیدگی به این مورد فراهم می کند. ارتفاع اندازه تبلیغ سیال به صورت پویا بر اساس عرض تعریف شده ناشر تعیین می‌شود و به GAMBannerView اجازه می‌دهد تا ارتفاع خود را مطابق با ارتفاع آگهی تنظیم کند.

درخواست مایعات

برخلاف سایر قالب‌های تبلیغاتی، اندازه تبلیغ kGADAdSizeFluid دارای عرض از پیش تعریف‌شده نیست، بنابراین مطمئن شوید که عرض فریم بنر را در کد خود یا در Interface Builder به صراحت تنظیم کنید. اگر عرض مشخص نشده باشد، SDK به طور پیش فرض ارتفاع بنر را بر اساس عرض کامل دستگاه تنظیم می کند.

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

پیاده سازی برای ایجاد یک اندازه تک و یک درخواست سیال چند اندازه بسیار مشابه است. تنها تفاوت در درخواست چند اندازه است، شما ویژگی validAdSizes را برای تعیین اندازه های تبلیغاتی که برای درخواست تبلیغ معتبر هستند تنظیم می کنید:

سویفت

bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
                           NSValueFromGADAdSize(kGADAdSizeBanner)]

هدف-C

_bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
                              NSValueFromGADAdSize(kGADAdSizeBanner) ];

در اینجا پیاده سازی کامل در کد به نظر می رسد:

سویفت

var bannerView: GAMBannerView!

override func viewDidLoad() {
  super.viewDidLoad()
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  bannerView = GAMBannerView(adSize: kGADAdSizeFluid)
  var frameRect = bannerView.frame
  frameRect.size.width = view.bounds.width
  bannerView.frame = frameRect

  // Uncomment this code for a multisize fluid request.
  // bannerView.validAdSizes = [NSValueFromGADAdSize(kGADAdSizeFluid),
  //                            NSValueFromGADAdSize(kGADAdSizeBanner)]

  bannerView.adUnitID = "YOUR_AD_UNIT_ID"
  bannerView.rootViewController = self

  // Make the ad request.
  bannerView.load(GAMRequest())
}

هدف-C

GAMBannerView *_bannerView;

- (void)viewDidLoad {
  [super viewDidLoad];
  // Create the GAMBannerView and set its width to a width that makes sense for your
  // app. In this example, the width is set to the width of the UIViewController's
  // root view.
  _bannerView = [[GAMBannerView alloc] initWithAdSize:kGADAdSizeFluid];
  CGRect frameRect = _bannerView.frame;
  frameRect.size.width = CGRectGetWidth(self.view.bounds);
  _bannerView.frame = frameRect;

  // Uncomment this code for a multisize fluid request.
  // _bannerView.validAdSizes = @[ NSValueFromGADAdSize(kGADAdSizeFluid),
  //                               NSValueFromGADAdSize(kGADAdSizeBanner) ];

  _bannerView.adUnitID = @"YOUR_AD_UNIT_ID";
  _bannerView.rootViewController = self;

  // Make the ad request.
  [_bannerView loadRequest:[GAMRequest request]];
}

برای مشاهده نمونه‌ای از اجرای اندازه تبلیغ Ad Manager Fluid، برنامه آزمایشی iOS API را در Swift یا Objective-C دانلود کنید.

دانلود نسخه نمایشی API

پروتکل GADAdSizeDelegate

ممکن است بخواهید قبل از تغییر اندازه یک بنر، ارتفاع آن را بدانید. adView:willChangeAdSizeTo: نماینده خود را قبل از تغییر نمای بنر به GADAdSize جدید مطلع می کند. برای اینکه قبل از تغییر نمای بنر به اندازه آگهی جدید مطلع شوید، کلاس شما باید با پروتکل GADAdSizeDelegate مطابقت داشته باشد.

در اینجا یک نمونه پیاده سازی از adView:willChangeAdSizeTo: callback آورده شده است که نحوه دریافت عرض و ارتفاع جدید بنر را نشان می دهد:

سویفت

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
bannerView.adSizeDelegate = self

// MARK: - GADAdSizeDelegate

func adView(_ bannerView: GADBannerView, willChangeAdSizeTo adSize: GADAdSize) {
  let height = adSize.size.height
  let width = adSize.size.width
}

هدف-C

// To be notified before the banner's ad size changes, your view controller class must
// conform to the GADAdSizeDelegate protocol.
_bannerView.adSizeDelegate = self;

#pragma mark - GADAdSizeDelegate

- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)adSize {
  CGFloat height = adSize.size.height;
  CGFloat width = adSize.size.width;
}