iOS용 AFSMA (모바일 앱용 AFS) 구현

기본 요건

이 구현 가이드에서는 다음 사항에 익숙하다고 가정합니다.

개요

이 문서에는 모바일 앱용 AFSMA (모바일 앱용 AFS) 광고를 통합하는 과정이 나와 있습니다. iOS 모바일 앱에서 제공됩니다. AFSMA 광고는 동적 광고라고도 합니다. 높이 검색 광고 iOS에서 AFSMA 광고를 요청하고 렌더링하려면 다음을 구현합니다.

GADSearchBannerView

  • 이 클래스는 iOS UIView 클래스에서 상속되어 AFSMA 광고를 표시합니다. 이 GADSearchBannerViewGADDynamicHeightSearchRequest하고 반환된 광고를 렌더링합니다. 이 GADSearchBannerView는 앱의 기존 뷰에 추가되어야 합니다. 보통은 객체를 호출하기 전에 GADSearchBannerView이(가) 추가되었습니다. 적절한 위임은 GADSearchBannerView
  • GADSearchBannerView는 다음으로 인스턴스화해야 합니다. initWithAdSize:kGADAdSizeFluid하여 AFSMA 광고를 요청합니다. 인스턴스화 중 기존 AFSMA 요청이 initWithAdSize:kGADAdSizeBanner개인 GADSearchBannerView 있습니다.
  • 이 객체의 adUnitID 속성을 속성 코드로 설정해야 합니다.

GADDynamicHeightSearchRequest

  • 이 객체는 광고 요청 매개변수를 캡슐화합니다. 이것은 자바스크립트 광고 요청 객체에서 매개변수 설정 (페이지 옵션, 광고 단위 AFS 데스크톱 및 모바일 웹에서 사용할 수 있습니다.

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

  • 이 콜백은 광고 요청이 반환될 때 호출됩니다. 반환된 광고가 광고 단위에는 다양한 광고 확장, 정확한 크기 알 수 없는 광고 단위의 ID입니다. 광고가 반환된 경우 새로운 크기의 광고를 수용하도록 배너 보기를 확인할 수 있습니다. 상위 뷰에서 GADSearchBannerView의 크기를 조절하는 코드는 다음과 같아야 합니다. 여기에 구현하세요

구현 예

아래 예는 GBannerViewController를 사용하여 UIScrollView의 하위 뷰로서의 GADSearchBannerView 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에서 추가 속성을 설정하여 객체를 지정합니다.

광고를 요청하려면 GADDynamicHeightSearchRequest를 사용하여 loadRequest를 호출합니다. 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"]);
}

광고 요청에 실패하면 이 콜백을 사용하여 오류를 적절하게 처리할 수 있습니다. 오류 객체를 통해 오류를 조사할 수 있습니다.