概要
スプラッシュ広告は、アプリ起動時のスプラッシュ画面に表示される広告です。アプリのロゴと一緒に広告が表示され、自然なユーザー体験を提供します。特徴
- アプリ起動時の自然な広告表示
- アプリロゴと一緒にブランドイメージを維持
- 360px × 270px固定サイズ
- 画像広告に対応
開発環境ではテストユニットIDを使用してください:
PUBLIC_TEST_UNIT_ID_SPLASHキャッシュ動作
スプラッシュ広告はアプリ起動と同時にすぐ表示できるよう、SDKがデバイスに広告を事前キャッシュする仕組みで動作します。次回起動時にはキャッシュ済みのクリエイティブが先に表示され、同時に新しい広告をバックグラウンドでリクエストして次回起動用のキャッシュを更新します。広告サイズ
スプラッシュ広告は固定サイズを使用します:- サイズ: 360px × 270px (幅 × 高さ)
- 広告は画面下部に表示され、上部にはアプリロゴが配置されます
実装方法
スプラッシュ広告は、アプリの要件に応じて3つの方法で実装できます:- AdropSplashAdViewControllerの使用 - 最も簡単な方法
- AdropSplashAdViewの使用 - カスタムスプラッシュ画面の構成
- SwiftUI実装 - SwiftUIアプリで使用
方法1: AdropSplashAdViewControllerの使用
最も簡単な実装方法です。AdropSplashAdViewControllerがスプラッシュ画面を自動的に管理します。
UIKit実装
SceneDelegateでスプラッシュ広告を表示
初期化パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
unitId | String | アドコントロールコンソールで作成したユニットID |
adRequestTimeout | TimeInterval | 広告リクエストタイムアウト(秒)。デフォルト1.0 |
プロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
logoImage | UIImage? | アプリロゴ画像(initパラメータではなくプロパティとして設定)。nilの場合はロゴなしで表示 |
mainViewController | UIViewController? | 広告終了後に遷移するメインビューコントローラー |
backgroundColor | UIColor? | スプラッシュ画面の背景色。nilの場合はsystemBackgroundを使用 |
displayDuration | TimeInterval | 広告表示時間(秒)。デフォルト1.0。非推奨 — コンソールで設定してください |
デリゲートの実装
AdropSplashAdViewControllerは広告の読み込み、表示、タイマー管理を自動的に処理します。広告が読み込まれなくても自動的にonAdCloseが呼び出され、メイン画面に遷移します。LaunchScreenとの連携
スプラッシュ広告を表示する前に、システムのLaunchScreenが先に表示されます。自然なユーザー体験のために、LaunchScreenとスプラッシュ広告画面のスタイルを一致させることをお勧めします。LaunchScreen.storyboardの設定
- LaunchScreen.storyboardを開き、背景色をスプラッシュ広告画面と同じに設定
- アプリロゴを中央に配置(スプラッシュ広告のロゴ位置と一致)
- Info.plistで
UILaunchStoryboardNameがLaunchScreenに設定されていることを確認
Info.plist
LaunchScreenとスプラッシュ広告画面の背景色とロゴ位置が一致すると、アプリ起動時にスムーズな遷移が可能です。
方法2: AdropSplashAdViewの使用
カスタムスプラッシュ画面を直接構成したい場合に使用します。AdropSplashAdViewを使用する場合は、AdropSplashAdViewDelegateを実装する必要があります。onAdClose(impressed:)メソッドは必須です。方法3: SwiftUI実装
SwiftUIアプリでスプラッシュ広告を実装する方法です。SwiftUI Wrapper
SwiftUI Appで使用
デリゲートメソッド
AdropSplashAdDelegate
AdropSplashAdを使用する場合のデリゲートです。
| メソッド | 必須 | 説明 |
|---|---|---|
onAdClose(impressed:) | オプション | スプラッシュ広告終了時に呼び出し。impressedパラメータで広告表示の有無を確認 |
onAdReceived(_:) | オプション | 広告受信成功時に呼び出し |
onAdFailedToReceive(_:_:) | オプション | 広告受信失敗時に呼び出し |
onAdImpression(_:) | オプション | 広告表示が記録された時に呼び出し |
AdropSplashAdViewDelegate
AdropSplashAdViewを使用する場合のデリゲートです。
| メソッド | 必須 | 説明 |
|---|---|---|
onAdClose(impressed:) | 必須 | スプラッシュ広告終了時に呼び出し。メイン画面への遷移処理が必要 |
onAdReceived(_:) | オプション | 広告受信成功時に呼び出し |
onAdFailedToReceive(_:_:) | オプション | 広告受信失敗時に呼び出し |
onAdImpression(_:) | オプション | 広告表示が記録された時に呼び出し |
クロージャコールバック
デリゲートの代わりにAdropSplashAdでクロージャベースのコールバックを使用できます。
デリゲートとクロージャの両方を設定すると、両方が呼び出されます。
impressedパラメータ
onAdClose(impressed:)メソッドのimpressedパラメータは、広告が実際にユーザーに表示されたかどうかを示します。
impressedがfalseの場合
- 広告ロード失敗
- ネットワークエラー
- ユーザーが広告を見る前にスキップ
- 広告インベントリ不足
ベストプラクティス
1. 適切なタイマー設定
スプラッシュ広告は短すぎず長すぎず表示する必要があります。2. ロゴ画像の最適化
アプリロゴは適切なサイズで準備し、ロード時間を最小化してください。3. 失敗処理
広告ロード失敗時もアプリが正常に起動するように処理してください。4. スムーズな画面遷移
メイン画面への遷移時に自然なアニメーションを使用してください。5. テスト環境と本番環境の分離
開発環境と本番環境を分けてテストしてください。完全なSceneDelegateの例
テスト
テストユニットID
開発中はテストユニットIDを使用してください。デバッグ
広告イベントをログで確認してください。トラブルシューティング
スプラッシュ画面が表示されない
スプラッシュ画面が表示されない
window.rootViewControllerが正しく設定されているか確認- SceneDelegateが有効になっているか確認(Info.plist)
- SDKの初期化が完了しているか確認
広告がロードされない
広告がロードされない
- ネットワーク接続状態を確認
- ユニットIDが正しいか確認
- テスト環境では
production: false設定を確認 - onAdFailedToReceiveエラーコードを確認
メイン画面に遷移しない
メイン画面に遷移しない
onAdClose(impressed:)デリゲートが実装されているか確認- 画面遷移コードがメインスレッドで実行されているか確認
AdropSplashAdView使用時にonAdCloseが呼び出されない
AdropSplashAdView使用時にonAdCloseが呼び出されない
AdropSplashAdViewDelegateを実装しているか確認splashAdView.delegate = selfが設定されているか確認onAdClose(impressed:)メソッドは必須で実装する必要があります
次のステップ
インタースティシャル広告
画面遷移時のインタースティシャル広告の表示
バナー広告
バナー広告の実装
ネイティブ広告
カスタムデザインのネイティブ広告
リワード広告
ユーザーリワードの提供