پیاده سازی AFS برای برنامه های موبایل (AFSMA) برای iOS

پیش نیازها

این راهنمای پیاده سازی فرض می کند که شما با موارد زیر آشنا هستید:

بررسی اجمالی

این سند روند ادغام تبلیغات AFS برای برنامه های موبایل (AFSMA) را در برنامه موبایل iOS شما شرح می دهد. تبلیغات AFSMA گاهی اوقات به عنوان تبلیغات جستجوی ارتفاع پویا نیز شناخته می شود. برای درخواست و ارائه تبلیغات AFSMA در iOS، باید موارد زیر را اجرا کنید:

GADSearchBannerView

  • این کلاس از کلاس UIView iOS به ارث می رسد و تبلیغات AFSMA را نمایش می دهد. GADSearchBannerView درخواست یک آگهی را با GADDynamicHeightSearchRequest می کند و تبلیغات برگشتی را ارائه می دهد. GADSearchBannerView باید به هر یک از نماهای موجود برنامه اضافه شود. معمولاً این کنترل‌کننده نمای والد است که نمایی را نگه می‌دارد که GADSearchBannerView به آن اضافه شده است. نمایندگان مناسب باید در GADSearchBannerView تنظیم شوند.
  • برای درخواست تبلیغات AFSMA GADSearchBannerView باید با initWithAdSize:kGADAdSizeFluid نمونه سازی شود. نمونه سازی GADSearchBannerView با initWithAdSize:kGADAdSizeBanner آگهی های قدیمی AFSMA را درخواست می کند.
  • ویژگی adUnitID در این شی باید روی کد ویژگی شما تنظیم شود.

GADDynamicHeightSearchRequest

  • این شیء پارامترهای درخواست آگهی را کپسوله می کند. این مشابه با تنظیم پارامترها در اشیاء درخواست آگهی جاوا اسکریپت (گزینه‌های صفحه، گزینه‌های واحد) برای وب دسکتاپ و موبایل AFS است.

(void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size

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

اجرای نمونه

مثال زیر استفاده از GBannerViewController را برای ایجاد یک GADSearchBannerView به عنوان نمای فرعی UIScrollView نشان می دهد. برای درخواست صحیح تبلیغات AFSMA، شی GADSearchBannerView باید با initWithAdSize:kGADAdSizeFluid نمونه سازی شود.

// GBannerViewController.m implementation

@interface GBannerViewController () <GADAdSizeDelegate,
                                     GADBannerViewDelegate>

@property(nonatomic, strong) GADSearchBannerView *searchBannerView;

@property(nonatomic, strong) UIScrollView *scrollView;

@end

@implementation GBannerViewController

- (void)viewDidLoad {
  [super viewDidLoad];

  // Create the scroll view.
  ....
  ....

  // Create the banner.
  self.searchBannerView = [[GADSearchBannerView alloc] initWithAdSize:kGADAdSizeFluid];

  // Replace with your pub ID (e.g. ms-app-pub-9616389000213823).
  self.searchBannerView.adUnitID = @"ms-app-pub-################";

  // Set the initial location and size of the banner. The initial height
  // is set to 0 since we might not get an ad back.
  self.searchBannerView.frame = CGRectMake(0,
                                           0,
                                           CGRectGetWidth(self.view.bounds),
                                           0);
  self.searchBannerView.autoresizingMask = UIViewAutoresizingFlexibleWidth;

  // Set the delegate properties.
  self.searchBannerView.adSizeDelegate = self;
  self.searchBannerView.delegate = self;

  // Add the new search banner into the parent scrollView.
  [self.scrollView addSubview:self.searchBannerView];
  }

در همان GBannerViewController ، یک GADDynamicHeightSearchRequest ایجاد کنید که پارامترهای تبلیغی را که در GADSearchView ارائه می‌شوند، دیکته می‌کند.

// Create a search request and load the banner.
GADDynamicHeightSearchRequest *searchRequest = [[GADDynamicHeightSearchRequest alloc] init];

// Ad request options (set using GADDynamicHeightSearchRequest properties).
searchRequest.query = @"flowers";
searchRequest.numberOfAds = 2;

// Replace with the ID of a style from your custom search styles
[searchRequest setAdvancedOptionValue:@"0000000001"
                               forKey:@"styleId"];

سایر گزینه های سفارشی سازی با تنظیم ویژگی های اضافی در شی GADDynamicHeightSearchRequest امکان پذیر است.

برای درخواست تبلیغ، loadRequest با شی GADDynamicHeightSearchRequest از شی GADSearchBannerView فراخوانی کنید:

[self.searchBannerView loadRequest:searchRequest];

برای اینکه نمای والد به درستی GADSearchBannerView را پس از بازگشت تبلیغات تطبیق دهد، پاسخ تماس زیر باید اجرا شود.

// Callback to update the parent view height.
- (void)adView:(GADBannerView *)bannerView willChangeAdSizeTo:(GADAdSize)size {
  // Update the banner view based on the ad size.
  CGRect newFrame = self.searchBannerView.frame;
  newFrame.size.height = size.size.height;
  self.searchBannerView.frame = newFrame;

  // Perform any additional logic needed due to banner view size change.
  ...
}

گزینه های پیشرفته

بیشتر پارامترهای درخواست آگهی را می توان از طریق ویژگی های شی GADDynamicHeightSearchRequest ( searchRequest بالا) تنظیم کرد. سایر پارامترها باید با استفاده از جفت های کلید-مقدار با متد setAdvancedOptionValue تنظیم شوند:

// Advanced customization options (set using key-value pair).

// Set a parameter (parameter_name) and its value (parameter_value).
[searchRequest setAdvancedOptionValue:@"parameter_value"
                               forKey:@"parameter_name"];

// Example: Show visible URL below description (domainLinkAboveDescription: false).
[searchRequest setAdvancedOptionValue:@"false"
                               forKey:@"domainLinkAboveDescription"];

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

بررسی خطاها

GADBannerViewDelegate حاوی یک فراخوان است تا به شما در بررسی خطاها کمک کند:

- (void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error {

  // This callback is triggered when the ad request fails.
  // Add code here to debug the error object to discover causes of failure
  NSLog(@"Ad call failed due to %@", error.userInfo[@"NSUnderlyingError"]);
}

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