ネイティブ広告テンプレート

ネイティブ テンプレートのダウンロード

ネイティブ広告を使用すると、広告をカスタマイズして、質の高いユーザー エクスペリエンスを提供することができます。ユーザー エクスペリエンスが向上すると、エンゲージメントが促進され、全体的な収益の拡大にもつながります。

ネイティブ広告を最大限に活かすには、広告レイアウトがアプリの他の部分に自然に馴染むようなスタイルにすることが重要です。初めての方向けに、ネイティブ テンプレートが用意されています。

ネイティブ テンプレートとは、ネイティブ広告として使用できるビューであり、コーディングが完成された状態で提供されるため、実装と変更を簡単に行えます。初めてのネイティブ広告を数分で実装でき、大量のコードに煩わされることなく短時間でデザインをカスタマイズできます。このテンプレートは、ニュース フィード内で使用する TableView や、ダイアログ、またはアプリ内の他の場所など、どこでも好きな場所に配置できます。

このガイドでは、iOS アプリにネイティブ テンプレートをダウンロードして追加、使用する方法について説明します。このガイドは、すでに SDK を使用してネイティブ広告を読み込んでいる方を対象としています。

テンプレートのサイズ

テンプレートのサイズには、小と中の 2 種類があります。それぞれのテンプレートはクラスで表されます。クラスは GADTSmallTemplateViewGADTMediumTemplateView で、いずれも GADTTemplateView を拡張します。どちらのテンプレートにも固定のアスペクト比が設定されており、addHorizontalConstraintsToSuperviewWidth を呼び出した場合にのみ親ビューの幅に合わせて調整されます。addHorizontalConstraintsToSuperviewWidth を呼び出さない場合、各テンプレートはデフォルトのサイズを表示します。

GADTSmallTemplateView

小サイズのテンプレートは、UICollectionView セルまたは UITableView セルに最適です。たとえば、インフィード広告や、細長い形の広告ビューが必要な場所で使用できます。このテンプレートのデフォルトのサイズは、高さ 91 ポイント、幅 355 ポイントです。

GADTMediumTemplateView

中サイズのテンプレートは、ページビューの大きさの ½~¾ に相当します。ランディング ページやスプラッシュ ページに適していますが、UITableViews に含めることもできます。このテンプレートのデフォルトのサイズは、高さ 370 ポイント、幅 355 ポイントです。

どのテンプレートでも自動レイアウトがサポートされていますので、プレースメントを自由にお試しください。必要に応じて、ソースコードと xib ファイルを変更することもできます。

ネイティブ広告テンプレートのインストール

ネイティブ テンプレートをインストールするには、zip をダウンロードして XCode プロジェクトにドラッグします。その際、[Copy items if needed] チェックボックスがオンになっていることを確認してください。

ネイティブ広告テンプレートの使用

プロジェクトにフォルダを追加して、関連するクラスをファイルに含めたら、次の要領でテンプレートを使用してください。なお、フォントとスタイルのプロパティを変更するには、必ずスタイル ディクショナリをご使用ください。現在のところ、xib 自体に設定されたスタイルはすべてオーバーライドされます。

Objective-C

/// Step 1: Import the templates that you need.
#import "NativeTemplates/GADTSmallTemplateView.h"
#import "NativeTemplates/GADTTemplateView.h"
...

// STEP 2: Initialize your template view object.
GADTSmallTemplateView *templateView = [[GADTSmallTemplateView alloc] init];

// STEP 3: Template views are just GADUnifiedNativeAdViews
_nativeAdView = templateView;
nativeAd.delegate = self;

// STEP 4: Add your template as a subview of whichever view you'd like.
// This must be done before calling addHorizontalConstraintsToSuperviewWidth.
// Please note: Our template objects are subclasses of GADUnifiedNativeAdView so
// you can insert them into whatever type of view you’d like, and don’t need to
// create your own.
[self.view addSubview:templateView];

// STEP 5 (Optional): Create your styles dictionary. Set your styles dictionary
// on the template property. A default dictionary is created for you if you do
// not set this. Note - templates do not currently respect style changes in the
// xib.

NSString *myBlueColor = @"#5C84F0";
NSDictionary *styles = @{
    GADTNativeTemplateStyleKeyCallToActionFont : [UIFont systemFontOfSize:15.0],
    GADTNativeTemplateStyleKeyCallToActionFontColor : UIColor.whiteColor,
    GADTNativeTemplateStyleKeyCallToActionBackgroundColor :
        [GADTTemplateView colorFromHexString:myBlueColor],
    GADTNativeTemplateStyleKeySecondaryFont : [UIFont systemFontOfSize:15.0],
    GADTNativeTemplateStyleKeySecondaryFontColor : UIColor.grayColor,
    GADTNativeTemplateStyleKeySecondaryBackgroundColor : UIColor.whiteColor,
    GADTNativeTemplateStyleKeyPrimaryFont : [UIFont systemFontOfSize:15.0],
    GADTNativeTemplateStyleKeyPrimaryFontColor : UIColor.blackColor,
    GADTNativeTemplateStyleKeyPrimaryBackgroundColor : UIColor.whiteColor,
    GADTNativeTemplateStyleKeyTertiaryFont : [UIFont systemFontOfSize:15.0],
    GADTNativeTemplateStyleKeyTertiaryFontColor : UIColor.grayColor,
    GADTNativeTemplateStyleKeyTertiaryBackgroundColor : UIColor.whiteColor,
    GADTNativeTemplateStyleKeyMainBackgroundColor : UIColor.whiteColor,
    GADTNativeTemplateStyleKeyCornerRadius : [NSNumber numberWithFloat:7.0],
};

templateView.styles = styles;

// STEP 6: Set the ad for your template to render.
templateView.nativeAd = nativeAd;

// STEP 7 (Optional): If you'd like your template view to span the width of your
// superview call this method.
[templateView addHorizontalConstraintsToSuperviewWidth];
[templateView addVerticalCenterConstraintToSuperview];

スタイル ディクショナリ キー

次のキーを使ってディクショナリを作成すると、テンプレートをすばやくカスタマイズできます。

Objective-C

/// Call to action font. Expects a UIFont.
GADTNativeTemplateStyleKeyCallToActionFont

/// Call to action font color. Expects a UIColor.
GADTNativeTemplateStyleKeyCallToActionFontColor;

/// Call to action background color. Expects a UIColor.
GADTNativeTemplateStyleKeyCallToActionBackgroundColor;

/// The font, font color and background color for the first row of text in the
/// template.

/// All templates have a primary text area which is populated by the native ad's
/// headline.

/// Primary text font. Expects a UIFont.
GADTNativeTemplateStyleKeyPrimaryFont;

/// Primary text font color. Expects a UIFont.
GADTNativeTemplateStyleKeyPrimaryFontColor;

/// Primary text background color. Expects a UIColor.
GADTNativeTemplateStyleKeyPrimaryBackgroundColor;

/// The font, font color and background color for the second row of text in the
/// template.

/// All templates have a secondary text area which is populated either by the
/// body of the ad, or by the rating of the app.

/// Secondary text font. Expects a UIFont.
GADTNativeTemplateStyleKeySecondaryFont;

/// Secondary text font color. Expects a UIColor.
GADTNativeTemplateStyleKeySecondaryFontColor;

/// Secondary text background color. Expects a UIColor.
GADTNativeTemplateStyleKeySecondaryBackgroundColor;

/// The font, font color and background color for the third row of text in the
/// template. The third row is used to display store name or the default
/// tertiary text.

/// Tertiary text font. Expects a UIFont.
GADTNativeTemplateStyleKeyTertiaryFont;

/// Tertiary text font color. Expects a UIColor.
GADTNativeTemplateStyleKeyTertiaryFontColor;

/// Tertiary text background color. Expects a UIColor.
GADTNativeTemplateStyleKeyTertiaryBackgroundColor;

/// The background color for the bulk of the ad. Expects a UIColor.
GADTNativeTemplateStyleKeyMainBackgroundColor;

/// The corner rounding radius for the icon view and call to action. Expects an
/// NSNumber.
GADTNativeTemplateStyleKeyCornerRadius;

よくある質問

テンプレートのオブジェクトをインスタンス化しようとすると、例外が生じます。なぜですか?
xib ファイルでビューのサイズを変更しても、サブクラスの「setup」メソッドで作成したフレームのサイズを変更していない場合は、この例外が生じます。
これらのテンプレートをさらにカスタマイズするにはどうすればよいですか?
これらのテンプレートは、iOS アプリの開発で使用可能な他の xib やカスタムのビュークラスと同様に、関連付けられたビューのオブジェクトを含む xib にすぎません。ネイティブ広告を一から作成する場合は、ネイティブ アドバンスに関するガイドをご覧ください。
xib でスタイルを設定しても、スタイルが更新されません。なぜですか?
現在のところ、xib のすべてのスタイルは、GADTTemplateView.m のデフォルトのスタイル ディクショナリによってオーバーライドされます。

投稿

ネイティブ広告を簡単に開発できるようにネイティブ テンプレートを作成しました。GitHub レポジトリに投稿して、新しいテンプレートや機能を一緒に作成しましょう。プルリクエストを送っていただければ確認いたします。