네이티브 스타일

네이티브 스타일 설정 Google Ad Manager가 네이티브 광고를 기반으로 네이티브 광고 렌더링을 제품 내에서 지정하는 스타일입니다. 먼저, 크기와 타겟팅을 지정합니다 그런 다음 HTML, CSS, 자바스크립트를 추가하여 반응형 광고를 정의합니다. 모든 화면에서 고품질 디스플레이를 생산할 수 있습니다. 직접 할 필요 없음 어떤 렌더링이든 Ad Manager가 적절한 네이티브 스타일을 자동으로 적용함 지정할 수 있습니다. 네이티브 스타일은 배너 광고와 마찬가지로 구현되며 GAMBannerView를 사용합니다. 고정된 광고와 함께 사용할 수 있음 미리 결정되는 크기 또는 런타임 시 결정되는 유동적인 광고 크기를 선택할 수 있습니다.

기본 요건

  • Google 모바일 광고 SDK 버전 7.14.0 이상

이 가이드는 Google 모바일 광고 SDK에 대한 실무적인 지식을 전제로 설명합니다. 아직 살펴보지 않았다면 시작하기 가이드를 참조하세요.

고정 크기

크기가 고정된 네이티브 스타일을 사용하면 너비와 높이를 제어할 수 있습니다. 설정할 수 있습니다. 고정 크기를 설정하려면 다음 단계를 따르세요.

  1. Ad Manager UI에서 광고 항목을 만들고 Size 필드 드롭다운에서 사전 정의된 크기를 선택합니다.

  2. 인터페이스 생성 도구에서 GAMBannerView의 너비와 높이를 설정합니다. 1단계에서 선택한 사전 정의된 크기와 일치하게 합니다. 이제 크기 목록과 해당 GADAdSize 상수를 배너 광고 항목에 크기 섹션으로 이동합니다.

고정 크기로 네이티브 스타일을 구현하는 방법은 다음과 같습니다. 첫 번째 배너의 요청 HTML, CSS, JavaScript를 유연하고 유연하게 제어할 수 있습니다. 를 사용하여 배너 광고에 앱에서 자연스러운 네이티브 스타일을 연출할 수 있습니다.

유동적인 크기

경우에 따라 고정된 크기가 적합하지 않을 수도 있습니다. 예를 들어 광고의 너비가 앱 콘텐츠와 일치해야 하지만 높이가 필요합니다. 광고 콘텐츠에 맞게 동적으로 조정됩니다. 이 문제를 처리하려면 Ad Manager UI에서 Fluid를 광고 크기로 지정할 수 있습니다. 는 광고의 크기가 앱에서 런타임에 결정됨을 나타냅니다. SDK는 특별한 GADAdSize 상수를 제공합니다. kGADAdSizeFluid님, 이 케이스를 처리합니다 유동적인 광고 크기 높이는 동적으로 결정됩니다. 게시자가 정의한 너비에 따라 크기가 조정되므로 GAMBannerView님, 광고 소재의 높이를 조정하도록 해 줍니다

유연한 요청

다른 광고 형식과 달리 kGADAdSizeFluid 광고 크기는 미리 지정된 너비이므로 배너의 프레임을 명시적으로 설정하여 (코드 또는 인터페이스 생성 도구에서) . 너비를 지정하지 않으면 기본적으로 SDK는 전체 크기를 바탕으로 배너의 높이를 자동으로 조정합니다.

kGADAdSizeFluid를 포함하는 여러 크기 요청을 하는 경우 반환되는 광고는 항상 유동적인 컨테이너 안에 배치되며 유동적인 광고처럼 작동합니다. 유동적이지 않은 광고 소재가 이 유동 컨테이너에 반환되면 SDK가 광고를 페이지의 중앙에 배치하여 너비 제한을 수정하지 않아도 되도록 하기 위해 새 광고가 반환될 때마다

단일 크기와 여러 크기의 유동체를 만들기 위한 구현 요청은 매우 유사합니다. 유일한 차이점은 여러 크기의 validAdSizes 속성을 설정하여 광고를 광고 요청에 유효한 크기:

Swift

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

Objective-C

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

코드에서의 전체 구현은 다음과 같습니다.

Swift

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())
}

Objective-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 유동 광고 크기의 구현 예는 Swift 또는 Objective-C로 iOS API 데모 앱을 다운로드하세요.

API 데모 다운로드

GADAdSizeDelegate 프로토콜

광고 크기가 변경되기 전에 배너의 높이를 확인하고 싶을 수 있습니다. adView:willChangeAdSizeTo: 콜백은 배너 뷰가 새 GADAdSize로 변경됩니다. 다음 날짜 이전에 알림 받기 배너 보기가 새 광고 크기로 변경되면 클래스는 GADAdSizeDelegate 프로토콜

다음은 adView:willChangeAdSizeTo:의 샘플 구현입니다. 이 콜백은 배너의 새로운 너비와 높이를 가져오는 방법을 보여줍니다.

Swift

// 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
}

Objective-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;
}