Skip to main content

概要

ネイティブ広告は、アプリのUIに自然に統合される広告フォーマットです。広告要素(タイトル、画像、説明など)をアプリデザインに合わせて自由にカスタマイズできます。

主な特徴

  • アプリUIと完璧に統合可能なカスタムデザイン
  • 広告要素への個別アクセスと配置
  • 広告主プロフィール情報の表示オプション
  • 追加カスタムフィールドのサポート

実装方法

ネイティブ広告の実装は次の手順で進めます:
  1. 広告の読み込み
  2. カスタムビューの作成
  3. ビューのバインディング
  4. デリゲートの処理

1. 広告の読み込み

AdropNativeAdインスタンスを生成して広告を読み込みます。

Context IDの設定

コンテキストターゲティングのためにContext IDを設定できます。
開発中はテストユニットIDを使用してください。テストユニットIDセクションを参照してください。

2. カスタムビューの作成

ストーリーボードまたはコードでネイティブ広告ビューを構成します。

UIKit (Storyboard/XIB)

ストーリーボードでAdropNativeAdViewを生成し、広告要素をIBOutletとして接続します。

UIKit (コード)


3. ビューのバインディング

AdropNativeAdViewに広告要素をバインディングして広告データを表示します。

バインディングメソッド

onClickクロージャは、ユーザーがバインドされたビューをタップしたときに呼び出されます。現在のAdropNativeAd?インスタンスとタップされたUIViewをパラメータとして受け取ります。指定しない場合、デフォルトのクリック動作(リンク先URLを開く)が使用されます。
広告主プロフィールを表示するには、Adropコンソールで該当広告ユニットの広告主プロフィール表示を有効にする必要があります。

4. デリゲートの処理

AdropNativeAdDelegateを実装して広告イベントを処理します。

デリゲートメソッド


クロージャコールバック

デリゲートの代わりにクロージャベースのコールバックを使用できます。
デリゲートとクロージャの両方を設定すると、両方が呼び出されます。

広告プロパティ

AdropNativeAdオブジェクトを通じて広告データにアクセスできます。

基本プロパティ

広告主プロフィール

カスタムフィールド

Adropコンソールで設定した追加テキスト項目にアクセスできます。
extraフィールドは、Adropコンソールの広告ユニット設定で定義した追加テキスト項目IDをキーとして使用します。

プロパティ一覧

AdropNativeAdProfile


カスタムクリック

カスタムクリックを使用すると、デフォルトの動作(リンク先URLを開く)の代わりに、広告クリック動作を自分で処理できます。

設定

全体クリック領域

setIsEntireClick(_:)を使用して、AdropNativeAdView全体をクリック可能にします。
useCustomClicktrueの場合、setNativeAd(_:)setIsEntireClick(true)が自動的に呼び出されます。

手動クリック

performClick()を使用して手動でクリックイベントをトリガーします。

URLを開く

open(_:useInAppBrowser:)を使用してプログラムでURLを開きます。

動画トラッキングとVTR

Adropはネイティブ広告の動画指標 — VTR(動画完了率)、onAdVideoStartonAdVideoEnd — を、SDKメディアコンテナ(AdropNativeAdView.setMediaView(_:)でバインドされたUIView)内で動画がレンダリングされる場合にのみ収集します。 AdropNativeAd.assetプロパティは元の画像または動画ファイルのURLを返します。これはサムネイル表示や媒体社独自分析などの補助メタデータとして公開されており、再生を直接行うためのものではありません。
動画ネイティブ広告のasset URLを独自の動画プレイヤー(AVPlayerAVPlayerViewControllerまたはサードパーティプレイヤー)に直接渡さないでください。SDKメディアコンテナを経由しないと以下の現象が発生します。
  • 該当面でVTR(動画完了率)が収集されません。
  • onAdVideoStart / onAdVideoEndコールバックが呼び出されません。
  • 該当ユニットの動画パフォーマンス集計が欠落または0として報告されます。
クリック(onAdClicked)とインプレッション(onAdImpression)トラッキングはコンテナビューに接続されているため引き続き動作しますが、動画関連シグナルは失われます。

推奨パターン

動画ネイティブ広告には必ずSDKメディアコンテナをバインドしてください。
特定の面がどうしても独自プレイヤーを使う必要があり、VTRが計測されないことを許容する場合、広告をAdropNativeAdViewにバインドしたままにすることで、クリックとインプレッションのアトリビューションは引き続き確保できます。ただしその面を社内レポートで非VTRインベントリとして分類し、SDKが計測した動画パフォーマンスと混在させないでください。

ベストプラクティス

エラー処理

広告読み込み失敗時に代替UIを表示してユーザー体験を維持してください。

テストユニットID

開発およびテスト時には次のテストユニットIDを使用してください。
実際の配信時には、必ずAdropコンソールで作成した実際のユニットIDを使用してください。

一括ロード (loads)

AdropNativeAd.loads(...)を使用すると、1回の呼び出しで複数のネイティブ広告をまとめてリクエストできます。フィード・カルーセル・ページネーションリストへ挿入する広告プールのプリフェッチに有用です。

シグネチャ

使用方法

デリゲートメソッド

単体onAdReceived(_:) / onAdFailedToReceive(_:_:)コールバックはloads経路では呼ばれません。バッチ結果は必ずonAdsReceived(_:) / onAdsFailedToReceive(_:)で受け取ってください。

定数

Int
デフォルト:"5"
1回のloads(...)呼び出しで返却される広告の最大数。

制約事項

  • 呼び出しあたり最大5個。 サーバーがそれ以上を返しても先頭の5個のみ配信されます。
  • バックフィルは適用されません。 ダイレクト広告が埋まらない場合、バックフィル設定に関わらずonAdsFailedToReceiveERROR_CODE_AD_NO_FILLで呼ばれます。
  • AdropBanner.loads(...)と異なり、ネイティブバッチはすべての広告のレンダリングが完了するまで待機してからonAdsReceived(_:)を呼びます。配信時点で各インスタンスは完全にレンダリングされています。
  • 返却された広告への強参照を保持してください。AdropNativeAdViewにバインドされる前に解放されると黙って破棄されます。

バックフィル広告

バックフィル広告が有効な場合、ダイレクト広告がない時に自動的にバックフィル広告がロードされます。isBackfilledプロパティでバックフィル広告かどうかを確認できます。

AdChoicesの位置調整

バックフィルネイティブ広告で、AdChoicesマークを表示するコーナーを指定できます。load()呼び出し前にAdropNativeAdインスタンスのpreferredAdChoicesPositionを設定してください。
この設定はバックフィルネットワークに渡される希望位置のヒントで、バックフィルネイティブ広告にのみ適用されます — ダイレクト広告には影響しません。必ずload()呼び出し前に設定する必要があり、バックフィルネットワークがポリシー上別の位置に表示する場合があります。
バックフィル広告を使用するには、AdropAds-Backfill依存性を追加する必要があります。はじめにを参照してください。

関連ドキュメント

はじめに

SDKのインストールと初期化

バナー広告

バナー広告の実装

インタースティシャル広告

インタースティシャル広告の実装

リワード広告

リワード広告の実装