メインコンテンツへスキップ

概要

スプラッシュ広告は、アプリ起動時にスプラッシュ画面に表示される広告です。アプリのロゴと一緒に広告が表示され、自然なユーザー体験を提供します。

特徴

  • アプリ起動時の自然な広告露出
  • アプリロゴでブランドイメージを維持
  • 固定広告サイズ: 360dp × 270dp (Android), 360px × 270px (iOS)
  • 画像広告対応
開発中はテストユニットIDを使用してください: PUBLIC_TEST_UNIT_ID_SPLASH

キャッシュ動作

スプラッシュ広告はアプリ起動と同時にすぐ表示できるよう、SDKがデバイスに広告を事前キャッシュする仕組みで動作します。次回起動時にはキャッシュ済みのクリエイティブが先に表示され、同時に新しい広告をバックグラウンドでリクエストして次回起動用のキャッシュを更新します。
このキャッシュ構造のため、Ad Controlコンソールでクリエイティブを一時停止しても、各ユーザーデバイスのキャッシュが更新されるまでは、すでにキャッシュされているクリエイティブが表示される場合があります。クリエイティブの一時停止や差し替えがユーザーに反映されるまで時間がかかる可能性があることを運用計画に織り込んでください。

実装方法

Flutterアプリのスプラッシュ広告は、ネイティブプラットフォームの設定を通じて実装されます。スプラッシュ広告はFlutterエンジンが完全に初期化される前に表示されるため、AndroidとiOSのネイティブレベルで設定する必要があります。
Flutterアプリは、Flutterがロードされる前に表示されるネイティブスプラッシュ画面を使用します。Adropスプラッシュ広告は、このネイティブスプラッシュフローと統合されます。

Android設定

ステップ1: strings.xmlの設定

android/app/src/main/res/values/strings.xmlに以下の設定を追加します。
android/app/src/main/res/values/strings.xml
テスト時はYOUR_SPLASH_UNIT_IDの代わりにPUBLIC_TEST_UNIT_ID_SPLASHを使用してください。

ステップ2: スプラッシュロゴ画像の追加

アプリロゴをandroid/app/src/main/res/drawable/フォルダに追加します。
推奨サイズ: 288dp × 288dp (@2x: 576px, @3x: 864px)

ステップ3: AndroidManifest.xmlの設定

AdropSplashAdActivityをランチャーアクティビティとして設定します。
android/app/src/main/AndroidManifest.xml
AdropSplashAdActivityにはandroid:exported="true"が必須です。MainActivityからランチャーintent-filterを削除してください。

ステップ4: スプラッシュテーマの設定

android/app/src/main/res/values/styles.xmlにスプラッシュテーマを追加または更新します。
android/app/src/main/res/values/styles.xml

ステップ5: レイアウトのカスタマイズ(オプション)

カスタムレイアウトを使用するには、android/app/src/main/res/layout/activity_adrop_splash_ad.xmlを作成します。
android/app/src/main/res/layout/activity_adrop_splash_ad.xml
android:id="@+id/adrop_splash_ad_image"を持つImageViewは必須です。このビューに広告が表示されます。

ステップ6: 表示時間の設定(オプション)

デフォルトの表示時間を変更するには、android/app/src/main/res/values/integers.xmlを作成します。
android/app/src/main/res/values/integers.xml

ステップ7: AdropSplashAdリスナーの実装(オプション)

スプラッシュ広告イベントを受信するには、Applicationクラスでリスナーを設定します。
shouldSkiptrueを返すと、広告はロードされずメイン画面に直接移動します。

iOS設定

ステップ1: AppDelegateの設定

ios/Runner/AppDelegate.swiftを更新してスプラッシュ広告を表示します。
ios/Runner/AppDelegate.swift

ステップ2: SceneDelegateの設定(iOS 13+)

SceneDelegateを使用するアプリの場合、ios/Runner/SceneDelegate.swiftを更新します。
ios/Runner/SceneDelegate.swift

ステップ3: ロゴ画像の追加

iOSアセットにアプリロゴを追加します:
  1. Xcodeを開き、Runner/Assets.xcassetsに移動
  2. splash_logoという名前の新しいImage Setを追加
  3. ロゴ画像を追加(@1x、@2x、@3x)
推奨サイズ: 200×200〜300×300ポイント

ステップ4: Info.plistの設定(オプション)

SceneDelegateを使用する場合、Info.plistにscene設定があることを確認します:
ios/Runner/Info.plist

AdropSplashAdDelegate

メソッド必須説明
onAdClose(_:impressed:)オプションスプラッシュ広告が閉じられた時に呼び出し。impressedは広告が表示されたかどうか
onAdReceived(_:)オプション広告受信成功時に呼び出し
onAdFailedToReceive(_:_:)オプション広告受信失敗時に呼び出し
onAdImpression(_:)オプション広告インプレッション記録時に呼び出し

ベストプラクティス

1. 適切なタイマー設定

より良いユーザー体験のために、合理的なタイムアウト値を設定します。

2. ロゴ画像の最適化

ロード時間を最小限に抑えるため、適切なサイズでアプリロゴを準備します。 Android:
iOS:

3. 失敗処理

広告ロードが失敗してもアプリが正常に起動するようにします。

4. テスト/本番環境の区別


テスト

テストユニットID

開発中はテストユニットIDを使用します。
本番リリースには必ずAdropコンソールで作成した実際のユニットIDを使用してください。テストユニットIDでは広告収益は発生しません。

トラブルシューティング

  • AndroidManifest.xmlでAdropSplashAdActivityがLAUNCHERとして設定されているか確認
  • android:exported="true"設定を確認
  • SDK初期化が完了しているか確認
  • adrop_service.jsonandroid/app/src/main/assetsフォルダにあるか確認
  • window.rootViewControllerが正しく設定されているか確認
  • Info.plistにSceneDelegateが設定されているか確認
  • SDK初期化が完了しているか確認
  • adrop_service.jsonがXcodeプロジェクトに追加されているか確認
  • ネットワーク接続状態を確認
  • ユニットIDが正しいか確認
  • テスト環境でproduction: false設定を確認
  • onAdFailedToReceiveのエラーコードを確認
  • adrop_splash_ad_next_activityが正しく設定されているか確認(Android)
  • onAdCloseデリゲート実装を確認(iOS)
  • FlutterViewControllerが正しく作成されているか確認
  • ファイル名が正確にactivity_adrop_splash_ad.xmlであるか確認
  • @+id/adrop_splash_ad_image IDを持つImageViewがあるか確認
  • クリーンビルド後に再実行(Build > Clean Project > Rebuild)

次のステップ

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

画面遷移時に全画面広告を表示

バナー広告

バナー広告を実装

ネイティブ広告

カスタムデザインのネイティブ広告

リワード広告

ユーザー報酬を提供