تبلیغات بنری

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

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

پیش نیازها

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

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

ساده ترین راه برای بارگیری تبلیغات آزمایشی استفاده از شناسه واحد آگهی آزمایشی اختصاصی ما برای بنرهای iOS است:ca-app-pub-3940256099942544/2934735716

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

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

یک GADBannerViewایجاد کنید

تبلیغات بنری در اشیاء GADBannerView نمایش داده می شوند، بنابراین اولین قدم برای یکپارچه سازی تبلیغات بنری این است که یک GADBannerView را در سلسله مراتب مشاهده خود قرار دهید. این معمولاً یا با Interface Builder یا به صورت برنامه نویسی انجام می شود.

سازنده رابط

یک GADBannerView را می توان مانند هر نمای معمولی به استوری برد یا فایل xib اضافه کرد. هنگام استفاده از این روش، مطمئن شوید که محدودیت‌های عرض و ارتفاع را برای مطابقت با اندازه تبلیغی که می‌خواهید نمایش دهید اضافه کنید. به عنوان مثال، هنگام نمایش یک بنر (320x50)، از محدودیت عرض 320 نقطه و محدودیت ارتفاع 50 نقطه استفاده کنید.

به صورت برنامه ای

یک GADBannerView نیز می‌تواند مستقیماً نمونه‌سازی شود. در اینجا مثالی از نحوه ایجاد یک GADBannerView ، تراز شده در مرکز پایین ناحیه امن صفحه، با اندازه بنر 320x50 آورده شده است:

سریع

import GoogleMobileAds
import UIKit

class ViewController: UIViewController {

  var bannerView: GADBannerView!

  override func viewDidLoad() {
    super.viewDidLoad()
    
    // In this case, we instantiate the banner with desired ad size.
    bannerView = GADBannerView(adSize: GADAdSizeBanner)

    addBannerViewToView(bannerView)
  }

  func addBannerViewToView(_ bannerView: GADBannerView) {
    bannerView.translatesAutoresizingMaskIntoConstraints = false
    view.addSubview(bannerView)
    view.addConstraints(
      [NSLayoutConstraint(item: bannerView,
                          attribute: .bottom,
                          relatedBy: .equal,
                          toItem: bottomLayoutGuide,
                          attribute: .top,
                          multiplier: 1,
                          constant: 0),
       NSLayoutConstraint(item: bannerView,
                          attribute: .centerX,
                          relatedBy: .equal,
                          toItem: view,
                          attribute: .centerX,
                          multiplier: 1,
                          constant: 0)
      ])
   }
   
}

هدف-C

@import GoogleMobileAds;

@interface ViewController ()

@property(nonatomic, strong) GADBannerView *bannerView;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  
  // In this case, we instantiate the banner with desired ad size.
  self.bannerView = [[GADBannerView alloc]
      initWithAdSize:GADAdSizeBanner];

  [self addBannerViewToView:self.bannerView];
}

- (void)addBannerViewToView:(UIView *)bannerView {
  bannerView.translatesAutoresizingMaskIntoConstraints = NO;
  [self.view addSubview:bannerView];
  [self.view addConstraints:@[
    [NSLayoutConstraint constraintWithItem:bannerView
                               attribute:NSLayoutAttributeBottom
                               relatedBy:NSLayoutRelationEqual
                                  toItem:self.bottomLayoutGuide
                               attribute:NSLayoutAttributeTop
                              multiplier:1
                                constant:0],
    [NSLayoutConstraint constraintWithItem:bannerView
                               attribute:NSLayoutAttributeCenterX
                               relatedBy:NSLayoutRelationEqual
                                  toItem:self.view
                               attribute:NSLayoutAttributeCenterX
                              multiplier:1
                                constant:0]
                                ]];
}
  


@end

توجه داشته باشید که در این مورد ما محدودیت عرض یا ارتفاع قائل نمی‌شویم، زیرا اندازه آگهی ارائه‌شده به بنر یک اندازه محتوای ذاتی برای اندازه نمایش می‌دهد.

اگر نمی خواهید از یک اندازه استاندارد که با یک ثابت تعریف شده است استفاده کنید، می توانید یک اندازه سفارشی را با استفاده از GADAdSizeFromCGSize کنید. برای اطلاعات بیشتر به بخش اندازه بنر مراجعه کنید.

ویژگی GADBannerView را پیکربندی کنید

برای بارگیری و نمایش تبلیغات، GADBannerView نیاز به تنظیم چند ویژگی دارد.

  • rootViewController - این نمایش کنترلر برای ارائه یک پوشش زمانی که روی تبلیغ کلیک می شود استفاده می شود. معمولاً باید روی view controller که حاوی GADBannerView است تنظیم شود.
  • adUnitID - این شناسه واحد تبلیغاتی است که GADBannerView باید تبلیغات را از آن بارگیری کند.

در اینجا یک مثال کد وجود دارد که نحوه تنظیم دو ویژگی مورد نیاز در روش viewDidLoad یک UIViewController را نشان می دهد:

سریع

override func viewDidLoad() {
  super.viewDidLoad()
  ...

  bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
  bannerView.rootViewController = self
}

هدف-C

- (void)viewDidLoad {
  [super viewDidLoad];
  ...

  self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716";
  self.bannerView.rootViewController = self;
}

یک تبلیغ را بارگیری کنید

هنگامی که GADBannerView در جای خود قرار گرفت و ویژگی های آن پیکربندی شد، زمان بارگذاری آگهی فرا می رسد. این کار با فراخوانی loadRequest: روی یک شی GADRequest انجام می شود:

سریع

override func viewDidLoad() {
  super.viewDidLoad()
  ...

  bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
  bannerView.rootViewController = self
  bannerView.load(GADRequest())
}

هدف-C

- (void)viewDidLoad {
  [super viewDidLoad];
  ...

  self.bannerView.adUnitID = @"ca-app-pub-3940256099942544/2934735716";
  self.bannerView.rootViewController = self;
  [self.bannerView loadRequest:[GADRequest request]];
}

اشیاءGADRequest یک درخواست آگهی واحد را نشان می‌دهند و حاوی ویژگی‌هایی مانند اطلاعات هدف‌یابی هستند.

رویدادهای تبلیغاتی

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

ثبت نام برای رویدادهای بنر

برای ثبت نام برای رویدادهای تبلیغات بنری، ویژگی delegate را در GADBannerView روی شی ای تنظیم کنید که پروتکل GADBannerViewDelegate را پیاده سازی می کند. به طور کلی، کلاسی که تبلیغات بنری را پیاده سازی می کند، به عنوان کلاس delegate نیز عمل می کند، در این صورت، ویژگی delegate را می توان روی self تنظیم کرد.

سریع

import GoogleMobileAds
import UIKit

class ViewController: UIViewController, GADBannerViewDelegate {

  var bannerView: GADBannerView!

  override func viewDidLoad() {
    super.viewDidLoad()
    ...
    bannerView.delegate = self
  }
}

هدف-C

@import GoogleMobileAds;

@interface ViewController () <GADBannerViewDelegate>

@property(nonatomic, strong) GADBannerView *bannerView;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  ...
  self.bannerView.delegate = self;
}

اجرای رویدادهای بنر

هر یک از متدها در GADBannerViewDelegate به‌عنوان اختیاری علامت‌گذاری شده‌اند، بنابراین شما فقط باید روش‌هایی را که می‌خواهید پیاده‌سازی کنید. این مثال هر روش را پیاده سازی می کند و یک پیام را به کنسول ثبت می کند:

سریع

func bannerViewDidReceiveAd(_ bannerView: GADBannerView) {
  print("bannerViewDidReceiveAd")
}

func bannerView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: Error) {
  print("bannerView:didFailToReceiveAdWithError: \(error.localizedDescription)")
}

func bannerViewDidRecordImpression(_ bannerView: GADBannerView) {
  print("bannerViewDidRecordImpression")
}

func bannerViewWillPresentScreen(_ bannerView: GADBannerView) {
  print("bannerViewWillPresentScreen")
}

func bannerViewWillDismissScreen(_ bannerView: GADBannerView) {
  print("bannerViewWillDIsmissScreen")
}

func bannerViewDidDismissScreen(_ bannerView: GADBannerView) {
  print("bannerViewDidDismissScreen")
}

هدف-C

- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView {
  NSLog(@"bannerViewDidReceiveAd");
}

- (void)bannerView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(NSError *)error {
  NSLog(@"bannerView:didFailToReceiveAdWithError: %@", [error localizedDescription]);
}

- (void)bannerViewDidRecordImpression:(GADBannerView *)bannerView {
  NSLog(@"bannerViewDidRecordImpression");
}

- (void)bannerViewWillPresentScreen:(GADBannerView *)bannerView {
  NSLog(@"bannerViewWillPresentScreen");
}

- (void)bannerViewWillDismissScreen:(GADBannerView *)bannerView {
  NSLog(@"bannerViewWillDismissScreen");
}

- (void)bannerViewDidDismissScreen:(GADBannerView *)bannerView {
  NSLog(@"bannerViewDidDismissScreen");
}

برای پیاده‌سازی روش‌های نمایندگی بنر در برنامه آزمایشی iOS API به مثال Ad Delegate مراجعه کنید.

Swift Objective-C

موارد استفاده کنید

در اینجا چند نمونه از موارد استفاده برای این روش های رویداد تبلیغاتی آورده شده است.

پس از دریافت آگهی، یک بنر به سلسله مراتب مشاهده اضافه کنید

ممکن است بخواهید اضافه کردن یک GADBannerView به سلسله مراتب مشاهده را تا زمانی که آگهی دریافت کنید به تعویق بیندازید. می توانید این کار را با گوش دادن به رویداد bannerViewDidReceiveAd: انجام دهید:

سریع

func bannerViewDidReceiveAd(_ bannerView: GADBannerView) {
  // Add banner to view and add constraints as above.
  addBannerViewToView(bannerView)
}

هدف-C

- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView {
  // Add bannerView to view and add constraints as above.
  [self addBannerViewToView:self.bannerView];
}

متحرک سازی یک بنر تبلیغاتی

همچنین می توانید از رویداد bannerViewDidReceiveAd: برای متحرک سازی یک آگهی تبلیغاتی پس از بازگرداندن آن استفاده کنید، همانطور که در مثال زیر نشان داده شده است:

سریع

func bannerViewDidReceiveAd(_ bannerView: GADBannerView) {
  bannerView.alpha = 0
  UIView.animate(withDuration: 1, animations: {
    bannerView.alpha = 1
  })
}

هدف-C

- (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView {
  bannerView.alpha = 0;
  [UIView animateWithDuration:1.0 animations:^{
    bannerView.alpha = 1;
  }];
}

مکث و از سرگیری برنامه

پروتکل GADBannerViewDelegate روش هایی دارد که شما را از رویدادها مطلع می کند، مانند زمانی که یک کلیک باعث نمایش یا رد شدن یک پوشش می شود. اگر می خواهید ردیابی کنید که آیا این رویدادها به دلیل تبلیغات بوده است یا خیر، برای این روش های GADBannerViewDelegate ثبت نام کنید.

برای مشاهده انواع ارائه های همپوشانی یا فراخوانی های مرورگر خارجی، نه فقط مواردی که از کلیک های تبلیغاتی می آیند، برنامه شما بهتر است به روش های مشابه در UIViewController یا UIApplication گوش دهد. در اینجا جدولی است که روش‌های معادل iOS را نشان می‌دهد که همزمان با متدهای GADBannerViewDelegate :

روش GADBannerViewDelegate روش iOS
bannerViewWillPresentScreen: نمای UIViewController ناپدید می viewWillDisappear:
bannerViewWillDismissScreen: نمای UIViewController ظاهر می viewWillAppear:
bannerViewDidDismissScreen: نمای UIViewController'sDidAppear viewDidAppear:

جدول زیر اندازه های استاندارد بنر را فهرست می کند.

اندازه در نقاط (WxH) شرح دسترسی AdSize ثابت
320x50 بنر گوشی و تبلت GADAdSizeBanner
320x100 بنر بزرگ گوشی و تبلت GADAdSizeLargeBanner
300x250 مستطیل متوسط ​​IAB گوشی و تبلت GADAdSizeMediumRectangle
468x60 بنر سایز کامل IAB قرص GADAdSizeFullBanner
728x90 تابلوی امتیازات IAB قرص GADAdSizeLeaderboard
عرض ارائه شده x ارتفاع تطبیقی بنر تطبیقی گوشی و تبلت N/A

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

برای تعریف اندازه بنر سفارشی، اندازه دلخواه خود را با استفاده از GADAdSizeFromCGSize تنظیم کنید، همانطور که در اینجا نشان داده شده است:

سریع

let adSize = GADAdSizeFromCGSize(CGSize(width: 300, height: 50))

هدف-C

GADAdSize size = GADAdSizeFromCGSize(CGSizeMake(300, 50));

منابع اضافی

نمونه هایی در GitHub

آموزش تصویری Garage Ads Mobile

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