Skip to main content

概要

バナー広告は画面の一部の領域に表示される長方形の広告です。AdropBannerコンポーネントを使用して簡単に実装できます。

主な特徴

  • 画面上部、下部、または中央に固定配置可能
  • 画像および動画広告対応
  • 自動または手動広告ロード対応
  • コールバックによる広告イベント処理
  • 広告メタデータ提供(クリエイティブID、キャンペーンIDなど)
開発環境ではテストユニットIDを使用してください:PUBLIC_TEST_UNIT_ID_320_100またはPUBLIC_TEST_UNIT_ID_320_50

AdropBannerコンポーネント

Props

string
必須
広告コントロールコンソールで生成したユニットID
ViewStyle
必須
バナーのスタイル(widthとheightが必須)
string
コンテキストターゲティングに使用するコンテキストID(1.17.0+)。マウント時の値のみ適用されます。値を変更するには、keyを変更してバナーを再マウントしてください。
boolean
デフォルト:"true"
コンポーネントがマウントされたときに自動的に広告をロードするかどうか
boolean
デフォルト:"false"
カスタムクリック処理を使用するかどうか。trueに設定すると、広告クリック時に自動的にブラウザが開きません。
{ width: number; height: number } | null
サーバーにリクエストする明示的な広告サイズ。style.widthが数値の場合、adSizeはスタイルのサイズから自動的に導出されます({ width: style.width, height: style.height })。style.widthが文字列(例:'100%')の場合、adSizeはデフォルトでnullとなり、SDKがレスポンシブサイジングを使用します。通常、このpropを手動で設定する必要はありません。
(unitId: string, metadata?: AdropBannerMetadata) => void
広告受信が成功したときに呼び出されるコールバック
(unitId: string, metadata?: AdropBannerMetadata) => void
ユーザーが広告をクリックしたときに呼び出されるコールバック
(unitId: string, metadata?: AdropBannerMetadata) => void
広告が画面に表示されたときに呼び出されるコールバック
(unitId: string, errorCode?: string) => void
広告受信が失敗したときに呼び出されるコールバック
(unitId: string) => void
動画広告の再生が開始されたときに呼び出されるコールバック
(unitId: string) => void
動画広告の再生が終了したときに呼び出されるコールバック

基本的な使い方

自動ロード(推奨)

コンポーネントがマウントされたときに自動的に広告をロードします。

Refを使用した手動ロード

refを使用して任意のタイミングで広告をロードできます。

コールバック関数

onAdReceived

広告受信が成功したときに呼び出されます。

onAdClicked

ユーザーが広告をクリックしたときに呼び出されます。

onAdImpression

広告が画面に表示されたときに呼び出されます。

onAdFailedToReceive

広告受信が失敗したときに呼び出されます。

onAdVideoStart

動画広告の再生が開始されたときに呼び出されます。

onAdVideoEnd

動画広告の再生が終了したときに呼び出されます。

AdropBannerMetadata

広告メタデータタイプです。
この情報は広告分析、追跡、レポーティングに便利に使用できます。

広告サイズ

バナー広告はユニットに設定したサイズに合わせてスタイルのサイズを指定する必要があります。

一般的なバナーサイズ

固定サイズ使用

画面幅に合わせる

レスポンシブサイズ使用

widthを文字列('100%'など)で設定するとレスポンシブに動作しますが、数値で設定するとその値が広告サーバーに渡され、適切なサイズの広告をリクエストします。

テストユニットID

開発およびテスト時には以下のテストユニットIDを使用してください。

使用例


エラー処理

広告ロード失敗時に適切なエラー処理を実装してください。

エラー状態管理


ベストプラクティス

1. 画面の可視性

バナーが画面に表示されているときに広告をロードしてください。

2. ローディングインジケーター

広告ロード中のユーザー体験を改善してください。

3. 複数バナー管理

複数のバナーを使用するときはそれぞれの状態を管理してください。

4. カスタムクリック処理

広告クリックを直接処理するにはuseCustomClickを使用してください。

完全な例

TypeScriptの例

JavaScriptの例


バックフィル広告

バックフィル広告を使用するには、ネイティブプラットフォーム(Android/iOS)にバックフィル依存関係が追加されている必要があります。
バックフィル広告が有効な場合、直接広告が利用できないときにSDKが自動的にバックフィル広告にフォールバックします。onAdFailedToReceiveコールバックでバックフィル関連のエラーコードを処理できます。

バックフィル広告のプリロード (preload)

SDK 1.17.0から、AdropBanner.preload()でバックフィルバナー広告をプリロードしておくことができます。同じユニットIDと同じサイズでロードした<AdropBanner>が、ダイレクト広告なしでバックフィル広告に切り替わると、バックフィル広告を再度リクエストせず、プリロードしておいた広告をすぐに表示します。 バナーはpreloadに関係なく、まずダイレクト広告をリクエストします。ダイレクト広告が表示された場合、プリロードしておいた広告はそのまま残ります。preloadを呼び出さなければ、動作はこれまでと同じです。

動作条件

  • adrop-ads-react-native 1.17.0以降と、ネイティブプラットフォームのバックフィル依存関係1.17.0以降が必要です。はじめにを参照してください。
  • 現在表示するダイレクト広告がないとサーバーからアプリに通知されている状態でのみ、バックフィル広告を受信します。それ以外の場合は、バックフィル広告をリクエストせずにAdropErrorCode.preloadSkippedで終了します。ダイレクト広告のキャンペーンがあるアプリでは正常な結果です。
  • アプリのインストール直後、アプリキーを変更した直後、setUIDで別のユーザーに切り替えた直後は、サーバーの応答を受信するまでAdropErrorCode.preloadSkippedで終了します。
  • テストユニットIDでは常にAdropErrorCode.preloadSkippedで終了します。

使用方法

バナーがある画面を表示する直前に呼び出してください。プリロードした広告は使用されないと30分後に破棄されるため、すぐに表示するバナーに対してのみ呼び出してください。結果を待ってからバナーをロードする必要はありません。まだ受信中の場合は、バナーがその結果を待って使用します。 AdropBanner.preload()はプリロードに成功するとresolveされ、それ以外の結果(AdropErrorCode.preloadSkippedを含む)は{ code, message }でrejectされます。処理しないと、正常な結果であるSKIPPEDでも未処理のPromise rejectionの警告が発生するため、try/catchで囲むか、.catchを付けてください。
結果が不要な場合は、次のように呼び出せます。
プリロードしておいた広告を使用するには、<AdropBanner>のstyleに、preloadのadSizeと同じwidth・heightを数値で指定してください。

プリロードした広告が使われる条件

  • 同じユニットIDと同じサイズ: <AdropBanner>のstyleに数値で指定したwidth・heightが、preloadのadSizeと同じである必要があります。width: '100%'のように数値ではないサイズを使うバナーは、サイズが一致せず、プリロードした広告が使用されない場合があります。サイズが異なる場合、プリロードした広告はそのまま残り、バナーは通常どおりバックフィル広告をリクエストします。
  • 一度だけ使用: プリロードした広告は、1回のバナーのロードで使用されるとなくなります。再度プリロードするには、preloadをもう一度呼び出してください。
  • 有効期間と個数: 30分以内に使用されなかった広告は破棄されます。同じユニット・サイズには1個のみ保持し、バナーは異なるユニット・サイズの組み合わせを最大5個まで保持します。5個を超えると、最も早く受信した広告から破棄します。
  • 再度呼び出す場合: 同じユニット・サイズで再度呼び出しても、新たにリクエストしません。受信済みの広告がある場合は新しいリクエストなしでresolveされ、受信中の場合はそのロードの結果(成功または失敗)がそのまま伝えられます。広告を更新する用途には使用できません。ただし、その間にユーザーの同意状態が変わった場合は、既存の広告を破棄して新たに受信します。
  • 同意状態の変更: プリロードした後にユーザーの同意状態が変わると、その広告はバナーのロードに使用されません。
  • resolveの意味: preload()がresolveされたということは、プリロードが終わったという意味です。その結果を待っていたバナーがすでに使用している場合もあります。

失敗コード

catch内でpreloadをすぐに再度呼び出さないでください。バックフィル依存関係がない場合のように結果が変わらないと、呼び出しが際限なく繰り返されます。次の画面を表示する前など、後で再度呼び出してください。

次のステップ

ネイティブ広告

UIに合わせてカスタマイズ可能なネイティブ広告を実装する

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

画面全体を覆うインタースティシャル広告を実装する

ポップアップ広告

小さなポップアップ形式で表示される広告を実装する

リファレンス

タイプ、メソッド、エラーコードを参照する