Skip to main content

概要

インタースティシャル広告は、アプリの画面全体を覆う形式で表示される広告です。ゲームのレベル遷移やコンテンツページの切り替えなど、アプリの自然な遷移ポイントで表示するのに適しています。

特徴

  • 全画面を覆う没入型広告
  • ユーザーが明示的に閉じるまで表示を維持
  • 画像および動画広告に対応
  • 高い視覚的注目度
開発環境ではテストユニットIDを使用してください:PUBLIC_TEST_UNIT_ID_INTERSTITIAL

実装ステップ

インタースティシャル広告は以下の4ステップで実装します:
  1. 初期化 - AdropInterstitialAdインスタンスを作成
  2. リスナー設定 - 広告イベント受信のためのリスナーを設定
  3. 広告ロード - 広告をリクエストして受信
  4. 広告表示 - 画面に広告を表示

基本実装

AdropInterstitialAdインスタンスの作成

AdropInterstitialAdコンストラクタ

Context
必須
Android Contextオブジェクト(ActivityまたはApplication Context)
String
必須
広告ユニットID(コンソールで発行)

リスナー設定

広告イベントを受信するには、AdropInterstitialAdListenerを実装して設定する必要があります。

広告のロード

load()メソッドを呼び出して広告をリクエストします。
広告ロード完了時にonAdReceivedコールバックが呼び出され、失敗時にはonAdFailedToReceiveコールバックが呼び出されます。

広告の表示

広告がロードされた後、show()メソッドを呼び出して広告を表示します。

isLoadedプロパティ

広告がロードされているかどうかを確認するプロパティです。show()を呼び出す前にこの値を確認することをお勧めします。

showメソッド

Activity
必須
広告を表示するActivityオブジェクト

AdropInterstitialAdプロパティ

unitId

広告ユニットIDを返します。

isLoaded

広告がロードされているかどうかを返します。

creativeId

現在ロードされている広告のクリエイティブIDを返します。

txId

現在ロードされている広告のトランザクションIDを返します。

campaignId

現在ロードされている広告のキャンペーンIDを返します。

isBackfilled

現在ロードされている広告がバックフィル広告かどうかを返します。

close()

プログラムでインタースティシャル広告を閉じます。

AdropInterstitialAdListenerメソッド

必須メソッド

(AdropInterstitialAd) -> Unit
広告受信成功時に呼び出されます。この時点でshow()を呼び出して広告を表示できます。
(AdropInterstitialAd, AdropErrorCode) -> Unit
広告受信失敗時に呼び出されます。エラーコードで失敗原因を確認できます。

オプションメソッド

(AdropInterstitialAd) -> Unit
広告インプレッションが記録された時に呼び出されます。
(AdropInterstitialAd) -> Unit
ユーザーが広告をクリックした時に呼び出されます。
(AdropInterstitialAd) -> Unit
インタースティシャル広告が表示される直前に呼び出されます。ゲームの一時停止などの処理ができます。
(AdropInterstitialAd) -> Unit
インタースティシャル広告が画面に表示された直後に呼び出されます。
(AdropInterstitialAd) -> Unit
インタースティシャル広告が閉じる直前に呼び出されます。
(AdropInterstitialAd) -> Unit
インタースティシャル広告が閉じた直後に呼び出されます。次の広告を事前ロードするのに適したタイミングです。
(AdropInterstitialAd, AdropErrorCode) -> Unit
広告表示失敗時に呼び出されます。エラーコードで失敗原因を確認できます。

戻るボタンコールバック

インタースティシャル広告が表示されている状態で、ユーザーが戻るボタンを押した時にAdropInterstitialAdCloseListenerを通じてコールバックを受け取ることができます。

AdropInterstitialAdCloseListener

(AdropInterstitialAd) -> Unit
ユーザーがインタースティシャル広告で戻るボタンを押した時に呼び出されます。

使用例

動作説明

  • 戻るボタンコールバック: ユーザーが戻るボタンを押すと、closeListener.onBackPressed()が先に呼び出されます。
  • 自動クローズ条件: 広告が表示されてから30秒以上経過した場合、またはWebViewがない場合、戻るボタンで自動的に広告が閉じられます。
  • 手動クローズ: ad.close()を呼び出すことで、いつでもプログラムで広告を閉じることができます。
  • closeListenerを設定しない場合: 従来の動作と同じく、30秒後の自動クローズのみ動作します。

Android 15+互換性

Android 13(Tiramisu)以上では、OnBackInvokedCallbackを使用して予測型バックナビゲーション(Predictive Back)をサポートします。アプリでenableOnBackInvokedCallback="true"を設定している場合でも正常に動作します。

ライフサイクル管理

destroyメソッド

ActivityやFragmentが終了する時は、destroy()メソッドを呼び出してリソースを解放する必要があります。
メモリリークを防ぐため、必ずdestroy()を呼び出してください。

事前ロード戦略

ユーザー体験を向上させるため、広告を事前にロードすることをお勧めします。

基本的な事前ロード

終了後の再ロード

広告が閉じた後、onAdDidDismissFullScreenコールバックで次の広告を事前にロードします。

ベストプラクティス

1. 適切な表示タイミング

アプリの自然な遷移ポイントで広告を表示してください。

2. エラー処理

広告ロード失敗に対する処理を実装してください。

3. 頻度制限

広告を頻繁に表示しないようにしてください。

4. ゲーム一時停止処理

インタースティシャル広告表示時にゲームやアニメーションを一時停止してください。

テスト

テストユニットIDの使用

開発中はテストユニットIDを使用してください。

広告ロードの確認

広告が正常にロードされているか確認してください。

完全な実装例


トラブルシューティング

  • SDKが初期化されているか確認
  • ユニットIDが正しいか確認
  • ネットワーク接続状態を確認
  • AndroidManifest.xmlにインターネット権限があるか確認
  • エラーコードを確認して原因を把握
  • ERROR_CODE_AD_NO_FILL:広告インベントリ不足、後で再試行
  • ERROR_CODE_NETWORK:ネットワーク接続を確認
  • ERROR_CODE_INVALID_UNIT:ユニットIDを確認
  • onAdReceivedコールバック後にshow()を呼び出しているか確認
  • isLoadedプロパティがtrueか確認
  • Activityが有効か確認
  • 他のインタースティシャル広告が既に表示中でないか確認
  • onDestroy()destroy()メソッドを呼び出しているか確認
  • Context参照がWeakReferenceで管理されているか確認
  • リスナーをnullに設定しているか確認

バックフィル広告

バックフィル広告が有効な場合、ダイレクト広告がない時に自動的にバックフィル広告がロードされます。isBackfilledプロパティでバックフィル広告かどうかを確認できます。
バックフィル広告を使用するには、io.adrop:adrop-ads-backfill依存関係を追加する必要があります。はじめにを参照してください。

次のステップ

リワード広告

リワード広告でユーザーエンゲージメントを向上

バナー広告

バナー広告を実装

ターゲティング設定

ユーザー属性とコンテキストターゲティング

リファレンス

APIリファレンスドキュメント