Skip to main content

実装方法

ネイティブ広告は、アプリのデザインに合わせてカスタムUIで広告を表示できます。
開発環境ではテストユニットIDを使用してください:PUBLIC_TEST_UNIT_ID_NATIVE

基本テンプレート

バナー広告と同じ方式で基本テンプレートを使用できます。SDKが提供するテンプレートに画像、テキストが自動的にレンダリングされます。
基本テンプレートは広告主プロフィールセクションをサポートしていません。広告主プロフィールを表示するには、カスタムUIを使用してください。

カスタムUI

1. Data Attributes方式

data-adrop-render="custom"属性を追加し、内部要素にdata-adrop-native属性でフィールドをバインディングします。

Data Attributes

string
必須
Ad Controlコンソールで作成したユニットID
string
必須
カスタムUI使用時はcustomに設定
string
コンテキストターゲティング用Context ID
string
デフォルト:"light"
テーマ設定(lightまたはdark)
boolean
デフォルト:false
全体領域クリックを有効化
  • false:テキスト/画像のみクリック可能、広告主プロフィールクリック時はプロフィールリンクに移動
  • true:コンテナ全体クリック可能、すべてのクリックが広告先に移動
boolean
デフォルト:false
カスタムクリック処理の有効化 - trueに設定するとSDKが自動で目的地URLに移動せず、adClickedイベントのみ発生させます。開発者がクリック動作を直接実装できます。
string
広告識別子 — デバイスで表示機能で登録済みテストデバイスからドラフトクリエイティブをプレビューするときに必要です。本番環境にハードコードしないでください。

2. renderAd方式

広告読み込みタイミングを直接制御したい場合に使用します。

renderAdオプション

string
必須
Ad Controlコンソールで作成したユニットID
string
ユーザー識別子(SDK設定値を個別の広告枠で上書きする場合に使用)
string
コンテキストターゲティング用Context ID
number
必須
カスタムUI使用時は1に設定
boolean
デフォルト:false
全体領域クリックを有効化
string
デフォルト:"light"
テーマ設定(lightまたはdark)
boolean
デフォルト:false
カスタムクリック処理の有効化 - trueに設定するとSDKが自動で目的地URLに移動せず、adClickedイベントのみ発生させます。開発者がクリック動作を直接実装できます。
string
広告識別子 — デバイスで表示機能で登録済みテストデバイスからドラフトクリエイティブをプレビューするときに必要です。本番環境にハードコードしないでください。

フィールドバインディング

data-adrop-native属性で広告データをUI要素にバインディングします。
extra.{key}はAd Controlコンソールで設定した追加テキスト項目のIDです。必須設定していない場合は空の可能性があります。
extraAssets.{id}は複数メディアユニットのメディアID(例:m2)です。このバインディングは画像のみを表示します。動画を受け付けるユニットの場合は、複数メディアのクリエイティブに従ってメディアを表示してください。(SDK 1.4.0+)
広告主プロフィール(profile.displayLogo、profile.displayName)を表示するには、Ad Controlコンソールで該当広告ユニットの広告主プロフィール表示を有効化する必要があります。

広告サイズ

カスタムUIのサイズは自由に設定できます。
バックフィル広告はコンテナサイズに合う素材をリクエストします。適切なサイズを指定してください。

requestAdでデータのみ取得

UIを完全に直接制御したい場合は、requestAdで広告データのみを取得できます。
requestAd使用時はインプレッション/クリック追跡を直接実装する必要があります。また、この方式ではバックフィル広告はサポートされていません。特別な場合でなければrenderAdを推奨します。

AdropAdResponse

requestAd()の戻り値です。

AdData

広告データオブジェクトです。イベントハンドラーでも同じ構造で渡されます。詳細はリファレンス > AdDataを参照してください。

カスタムクリック処理

useCustomClickが有効化されるとSDKが自動で目的地URLに移動しません。代わりにクリックイベントを処理してカスタム動作を実装できます。
カスタムクリック処理が有効化されると、ユーザーが広告をクリックしたときの動作を完全に制御できます。destinationURLはadClickedイベントデータに含まれて提供されます。

イベント処理

サポートするイベント


複数メディアのクリエイティブ

@adrop/ads-web-sdk 1.4.0以降が必要です。
ネイティブユニットにメディアが2つ以上ある場合、クリエイティブにはメディアごとのファイルが含まれます。extraAssetsには、広告のすべてのメディアがコンソールで設定したメディアIDをキーとして格納されています。メディア 1は常にm1で、それ以外のメディアには広告ユニット詳細画面のメディアサイズに表示されるID(例:m2、m3)が使われます。extraAssetsは、AD_RECEIVEDなどのSDKイベントの広告データと、requestAd()・requestAds()の結果に含まれます。
  • メディア 1(m1)は広告のメインメディア(assetまたはad)です。これまでどおり表示し、それ以外のメディアだけを自分で描画してください。
  • メディアが1つのユニットのクリエイティブとバックフィル広告には、extraAssetsは含まれません。
  • メディアは順序に頼らず、IDで取得してください。
  • 広告がダークモードで配信される場合、画像メディアもダークモード用の画像になります。
  • 複数メディアのクリエイティブでレイアウトを確認するには、テストデバイスでクリエイティブをプレビューしてください。

AdropNativeAsset

メディアの表示

このセクションはカスタムUI(trackMode: 1)を前提としています。
  • 画像: 自分で追加した画像のクリックも広告クリックとして集計されるよう、isEntireClick: trueに設定してください。画像はassetで表示してください。trackMode: 1では、画像のad HTMLはクリックをAdropに報告しません。
  • 動画: asset URLではなくad HTMLを<iframe>で再生してください。HTMLに動画プレイヤーとトラッキングが含まれているため、動画指標はこのHTMLでのみ計測されます。<iframe>内のクリックは広告コンテナに伝わらないため、動画のタップはHTMLだけが処理します。<iframe>にsandbox属性は付けないでください。HTMLがスクリプトを実行し、ランディングページを開く必要があります。
  • ランディングページ: ユーザーが動画をタップすると、HTMLがクリックを報告し、ランディングページを開きます。

インプレッションとクリック

インプレッション、クリック、動画指標は、SDKとメディアの両方が報告しても、メディア単位ではなく広告ごとに1回だけ集計されます。
動画のどのタップがクリックとして集計されるかは、ユニットの動画コントローラー設定によって異なります。コントローラーがオフの場合は動画のすべてのタップがクリックになり、オンの場合は再生・ミュートのコントロールのタップはクリックになりません。

例

メディア 2(m2)を画像または動画として広告コンテナの中に表示する例です。m2はユニットのメディアIDに置き換えてください。
<iframe>のサイズは、ユニットに設定したメディアのサイズに合わせてください。例は16:9のメディアを想定しています。

バックフィル広告

バックフィル広告が有効な場合、直接広告がないときに自動的にバックフィル広告がリクエストされます。adData.formatで広告タイプを区別できます。
開発環境テスト: アプリに連携された広告ユニットのうち少なくとも1つが収益化中であれば、localhostからでもバックフィル広告のリクエストが可能です。承認されていないドメインでは AD_BACKFILL_NO_FILL イベントが発生します。