ネイティブ スタイルの設定
Google アド マネージャーで、ネイティブ広告に基づいて
商品内で指定したスタイルです。まず、サイズとターゲティングを指定します。
HTML、CSS、JavaScript を追加して、レスポンシブ デザインの広告を定義する
あらゆる画面で高品質の表示を可能にしますこの作業は
発生しませんアド マネージャーで適切なネイティブ スタイルが自動的に適用される
指定します。ネイティブスタイルはバナー広告と同様に
実装されます
GAMBannerView
を使用します。固定広告で使用できる
事前に決定されるサイズ、実行時に決定される Fluid サイズの広告があります。
前提条件
- Google Mobile Ads SDK バージョン 7.14.0 以降
このガイドは、Google Mobile Ads SDK について一定の知識があることを前提としています。 まだ実施されていない場合は、 スタートガイド
固定サイズ
固定サイズのネイティブ スタイルでは、幅と高さを調整できる 追加します固定サイズを設定する手順は次のとおりです。
アド マネージャーの管理画面で広告申込情報を作成し、 [
Size
]フィールドのプルダウンから [事前定義されたサイズ]を選択しますインターフェース ビルダーで、
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 デモアプリをダウンロードします。
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;
}