概要
スプラッシュ広告(Splash Ad)は、アプリ起動時にスプラッシュ画面に表示される広告です。アプリのロゴと一緒に広告が表示され、自然なユーザー体験を提供します。特徴
- アプリ起動時の自然な広告露出
- アプリロゴと共にブランドイメージを維持
- 360dp × 270dpの広告領域、288dp × 288dpのロゴ領域
- 画像広告サポート
- Android 12+システムスプラッシュスクリーンサポート
開発環境ではテストユニットIDを使用してください:
PUBLIC_TEST_UNIT_ID_SPLASHキャッシュ動作
スプラッシュ広告はアプリ起動と同時にすぐ表示できるよう、SDKがデバイスに広告を事前キャッシュする仕組みで動作します。次回起動時にはキャッシュ済みのクリエイティブが先に表示され、同時に新しい広告をバックグラウンドでリクエストして次回起動用のキャッシュを更新します。広告とロゴのサイズ
スプラッシュ広告は決まった領域を使用します:- ロゴ領域:288dp × 288dp(画面中央)
- 広告領域:360dp × 270dp(画面下部)
- 広告は画面下部に表示され、上部にはアプリロゴが配置されます
実装方法
スプラッシュ広告は、アプリの要件に応じて2つの方法で実装できます:- AdropSplashAdを使用 - システムスプラッシュスクリーンと統合(Android 12+)
- AdropSplashAdViewを使用 - カスタムスプラッシュ画面構成
方法1:AdropSplashAdを使用(システムスプラッシュ統合)
Android 12(API 31)以上でシステムスプラッシュスクリーンと統合する方法です。AdropSplashAdActivityがスプラッシュ画面を自動的に管理します。
ステップ1:strings.xmlの設定
app/src/main/res/values/strings.xmlファイルに以下の設定を追加します。
res/values/strings.xml
テスト時には
YOUR_SPLASH_UNIT_IDの代わりにPUBLIC_TEST_UNIT_ID_SPLASHを使用してください。ステップ2:スプラッシュロゴ画像の追加
アプリロゴをres/drawable/フォルダに追加します。
ステップ3:AndroidManifest.xmlの設定
AdropSplashAdActivityをランチャーアクティビティとして設定します。
AndroidManifest.xml
ステップ4:スプラッシュテーマの設定
res/values/themes.xmlファイルにスプラッシュテーマを追加します。
res/values/themes.xml
Android 12未満の端末ではシステムスプラッシュが表示されず、直接
AdropSplashAdActivityが表示されます。ステップ5:レイアウトのカスタマイズ(オプション)
デフォルトレイアウトを使用せずカスタムレイアウトを希望する場合、アプリのres/layout/フォルダにactivity_adrop_splash_ad.xmlファイルを作成します。
res/layout/activity_adrop_splash_ad.xml
ステップ6:ApplicationでSDKを初期化
MyApplication.kt
ステップ7:AdropSplashAdリスナーの実装(オプション)
スプラッシュ広告イベントを受信するには、Applicationクラスでリスナーを設定します。
AdropSplashAdプロパティ
| プロパティ | タイプ | 説明 |
|---|---|---|
unitId | String | 広告ユニットID(読み取り専用) |
creativeId | String | 広告クリエイティブID(読み取り専用) |
isClosed | Boolean | スプラッシュ広告終了状態(読み取り専用) |
isDestroyed | Boolean | スプラッシュ広告破棄状態(読み取り専用) |
AdropSplashAdメソッド
| メソッド | 説明 |
|---|---|
close() | スプラッシュ広告を即座に終了し次の画面に移動 |
destroy() | リソースを解放し、ライフサイクルコールバックを解除します。スプラッシュ広告が不要になった時に呼び出してください。 |
shouldSkipコールバック
AdropSplashAdコンストラクタのshouldSkipコールバックを使用して、特定の条件でスプラッシュ広告をスキップできます。
shouldSkipがtrueを返すと、スプラッシュ広告が即座に閉じられ、次の画面に移動します。スプラッシュ表示時間の設定(オプション)
デフォルト表示時間(2秒)を変更するには、res/values/integers.xmlファイルを作成して設定します。
res/values/integers.xml
設定可能な範囲は500ms〜3000msです。範囲外の値は自動的に補正されます。
プッシュ通知ディープリンク時のスプラッシュスキップ(オプション)
プッシュ通知を通じてアプリが起動された時にディープリンクがあればスプラッシュ広告をスキップするよう設定できます。res/values/bools.xml
方法2:AdropSplashAdViewを使用(カスタムスプラッシュ)
カスタムスプラッシュ画面を直接構成したい場合に使用します。独自のスプラッシュActivityを作成し、AdropSplashAdViewを配置します。
ステップ1:レイアウトの作成
activity_splash.xml
ステップ2:SplashActivityの実装
ステップ3:AndroidManifest.xmlの設定
AndroidManifest.xml
AdropSplashAdViewプロパティ
| プロパティ | タイプ | 説明 |
|---|---|---|
unitId | String | 広告ユニットID(読み取り専用) |
creativeId | String | 広告クリエイティブID(読み取り専用) |
isClosed | Boolean | スプラッシュ広告終了状態(読み取り専用) |
txId | String | トランザクションID(読み取り専用) |
campaignId | String | キャンペーンID(読み取り専用) |
AdropSplashAdViewメソッド
| メソッド | 説明 |
|---|---|
load() | 広告をロードして表示 |
destroy() | リソースを解放します(タイマー、可視性トラッカー、リスナー)。スプラッシュ広告ビューが不要になった時に呼び出してください。 |
リスナー
AdropSplashAdListener
AdropSplashAdを使用する際のリスナーです。
| メソッド | 必須 | 説明 |
|---|---|---|
onAdReceived(ad) | 任意 | 広告受信成功時に呼び出し |
onAdFailedToReceive(ad, errorCode) | 任意 | 広告受信失敗時に呼び出し |
onAdImpression(ad) | 任意 | 広告インプレッションが記録された時に呼び出し |
onAdClose(ad, impressed) | 必須 | スプラッシュ広告終了時に呼び出し |
AdropSplashAdViewListener
AdropSplashAdViewを使用する際のリスナーです。
| メソッド | 必須 | 説明 |
|---|---|---|
onAdReceived(ad) | 任意 | 広告受信成功時に呼び出し |
onAdFailedToReceive(ad, errorCode) | 任意 | 広告受信失敗時に呼び出し |
onAdImpression(ad) | 任意 | 広告インプレッションが記録された時に呼び出し |
onAdClose(ad, impressed) | 必須 | スプラッシュ広告終了時に呼び出し。メイン画面遷移処理が必要 |
impressedパラメータ
onAdClose(ad, impressed)メソッドのimpressedパラメータは、広告が実際に表示されたかどうかを示します。
impressedがfalseの場合
- 広告ロード失敗
- ネットワークエラー
- ユーザーが広告を見る前にスキップ
- 広告インベントリ不足
ベストプラクティス
1. 適切なタイマー設定
スプラッシュ広告は短すぎず長すぎないように表示する必要があります。2. ロゴ画像の最適化
アプリロゴを適切なサイズで準備し、ロード時間を最小化してください。3. 失敗処理
広告ロード失敗時もアプリが正常に起動するよう処理してください。4. テスト環境の区別
開発と本番環境を区別してテストしてください。5. メモリリーク防止
Activity終了時にリスナーをクリーンアップしてください。テスト
テストユニットID
開発中はテストユニットIDを使用してください。デバッグ
広告イベントをログで確認してください。トラブルシューティング
スプラッシュ画面が表示されない
スプラッシュ画面が表示されない
- AndroidManifest.xmlで
AdropSplashAdActivityまたはカスタムSplashActivityがLAUNCHERとして設定されているか確認 android:exported="true"設定を確認- SDK初期化が完了しているか確認(Applicationクラス)
adrop_service.jsonファイルがassetsフォルダにあるか確認
広告がロードされない
広告がロードされない
- ネットワーク接続状態を確認
- ユニットIDが正しいか確認(strings.xmlまたはコード)
- テスト環境では
production = false設定を確認 onAdFailedToReceiveエラーコードを確認adrop_service.jsonファイルの内容が正しいか確認
メイン画面に遷移しない
メイン画面に遷移しない
adrop_splash_ad_next_activity設定が正しいか確認(完全なパッケージパス)AdropSplashAdView使用時はonAdClose実装を確認- Activityの完全修飾名を確認(例:com.myapp.MainActivity)
カスタムレイアウトが適用されない
カスタムレイアウトが適用されない
- ファイル名が正確に
activity_adrop_splash_ad.xmlであるか確認 android:id="@+id/adrop_splash_ad_image"IDを持つImageViewがあるか確認- アプリをクリーンビルド後に再実行(Build > Clean Project > Rebuild Project)
Android 12未満でシステムスプラッシュが表示されない
Android 12未満でシステムスプラッシュが表示されない
これは正常です。Android 12未満の端末ではシステムスプラッシュスクリーンがサポートされておらず、直接
AdropSplashAdActivityが表示されます。次のステップ
インタースティシャル広告
画面遷移時にフルスクリーン広告を表示
バナー広告
バナー広告を実装
ネイティブ広告
カスタムデザインのネイティブ広告
リワード広告
ユーザーリワードを提供