ネイティブ スタイル

ネイティブ スタイルの設定 Google アド マネージャーで、ネイティブ広告に基づいて 商品内で指定したスタイルです。まず、サイズとターゲティングを指定します。 HTML、CSS、JavaScript を追加して、レスポンシブ デザインの広告を定義する あらゆる画面で高品質の表示を可能にしますこの作業は 発生しませんアド マネージャーで適切なネイティブ スタイルが自動的に適用される 指定します。ネイティブスタイルはバナー広告と同様に 実装されます GAMBannerView を使用します。固定広告で使用できる 事前に決定されるサイズ、実行時に決定される Fluid サイズの広告があります。

前提条件

  • Google Mobile Ads SDK バージョン 7.14.0 以降

このガイドは、Google Mobile Ads SDK について一定の知識があることを前提としています。 まだ実施されていない場合は、 スタートガイド

固定サイズ

固定サイズのネイティブ スタイルでは、幅と高さを調整できる 追加します固定サイズを設定する手順は次のとおりです。

  1. アド マネージャーの管理画面で広告申込情報を作成し、 [Size]フィールドのプルダウンから [事前定義されたサイズ]を選択します

  2. インターフェース ビルダーで、GAMBannerView の幅と高さを設定します。 ステップ 1 で選択した定義済みサイズと一致するようにしてください。こちらの バナーのサイズとそれに対応する GADAdSize 定数のリストを サイズ

固定サイズのネイティブ スタイルは、次のように簡単に実装できます。 手順については、最初のバナー リクエスト HTML、CSS、JavaScript を柔軟に制御できます。 アプリに違和感なく溶け込むネイティブなデザインにできます。

Fluid サイズ

サイズを固定しても意味がない場合もあります。たとえば、 広告の幅をアプリのコンテンツに合わせるが、広告の高さが必要 広告コンテンツに合わせて動的に調整されますこのようなケースに対処するには アド マネージャーの管理画面で、広告サイズとして Fluid を指定できます。 は、広告のサイズがアプリでの実行時に決定されることを示します。 SDK には、特別な GADAdSize 定数が用意されています。 kGADAdSizeFluid、 このケースに対応しますFluid 広告の高さは動的に決定される 基となるため、 GAMBannerView クリエイティブの高さに合わせて 高さが調整されます

Fluid リクエスト

他の広告フォーマットとは異なり、kGADAdSizeFluid の広告サイズには バナーのフレームは明示的に設定し、 インターフェース ビルダーで変更できます。幅を指定しない場合、 SDK のデフォルトでは、 デバイスの幅に合わせます。

kGADAdSizeFluid を含む複数サイズのリクエストを行う場合、 返される広告は常に流動的なコンテナ内に配置され、 滑らかな広告のように動作します。非 Fluid クリエイティブアセットの 返されると、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]];
}

アド マネージャーの Fluid 広告サイズの実装例を確認するには 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;
}