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

概要

バックフィル広告は、直接広告がない場合に代替広告を自動的に表示して収益を最大化する機能です。Adropは、AdMob、Pangleなどの主要な広告ネットワークをバックフィル広告としてサポートしています。
バックフィル広告を使用するには、追加の依存関係のインストールが必要です:io.adrop:adrop-ads-backfill

インストール

1. Gradle設定

Settings.gradle.kts

Pangle広告ネットワークリポジトリを追加します:
settings.gradle.kts
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url = uri("https://artifact.bytedance.com/repository/pangle") }
    }
}

Build.gradle.kts

バックフィル広告の依存関係を追加します:
dependencies {
    implementation("io.adrop:adrop-ads:1.7.3")
    implementation("io.adrop:adrop-ads-backfill:1.7.3")
}

2. AndroidManifest.xml設定

AdMobをバックフィル広告として使用する場合、APPLICATION_IDをAndroidManifest.xmlに追加します:
AndroidManifest.xml
<manifest>
    <application>
        <!-- AdMob App ID -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>
ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyyを実際のAdMob App IDに置き換えてください。

コンソール設定

Adropコンソールでバックフィル広告を有効にします:
  1. Adropコンソールにログイン
  2. 広告ユニットメニューに移動
  3. バックフィル広告を使用する広告ユニットを選択
  4. バックフィル設定セクションでバックフィル広告を有効化
  5. 使用するバックフィル広告ネットワークを選択(AdMob、Pangleなど)
  6. 広告ネットワーク別の設定を入力(例:AdMob Ad Unit ID)

広告表示フロー

バックフィル広告は以下の順序で表示されます:

対応広告フォーマット

バックフィル広告は以下のフォーマットをサポートしています:
広告フォーマット対応状況説明
バナー(Banner)✅ 対応固定サイズのバナー広告
ネイティブ(Native)✅ 対応カスタマイズ可能なネイティブ広告
インタースティシャル(Interstitial)✅ 対応フルスクリーン広告
リワード(Rewarded)✅ 対応報酬型広告

バックフィル広告の確認

広告がバックフィル広告かどうかを確認するには、isBackfilledプロパティを使用します:
AdropBanner(context, "YOUR_UNIT_ID").apply {
    listener = object : AdropAdListener() {
        override fun onAdReceived(ad: AdropAd) {
            if (ad.isBackfilled) {
                Log.d("Adrop", "バックフィル広告が読み込まれました")
            } else {
                Log.d("Adrop", "直接広告が読み込まれました")
            }
        }
    }
    load()
}

UMP (User Messaging Platform) 連携

バックフィルSDKはGoogle UMPを通じてGDPRおよびCCPA規制への準拠をサポートします。Consent Managerを使用してユーザーの同意を取得してください。

基本的な使い方

import io.adrop.ads.Adrop
import io.adrop.ads.consent.AdropConsentListener
import io.adrop.ads.consent.AdropConsentResult

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // Adrop.initialize() の後に呼び出す
        Adrop.consentManager?.requestConsentInfoUpdate(this, object : AdropConsentListener {
            override fun onConsentInfoUpdated(result: AdropConsentResult) {
                if (result.error != null) {
                    Log.e("Consent", "エラー: ${result.error}")
                }
            }
        })
    }
}

同意ステータス

ステータス説明
UNKNOWN同意ステータスがまだ決定されていない
REQUIRED同意が必要(ポップアップが表示される)
NOT_REQUIRED同意不要(非GDPR地域)
OBTAINED同意完了済み

デバッグ設定(テストモード)

開発中にGDPR/CCPA同意フローをテストできます:
import io.adrop.ads.consent.AdropConsentDebugGeography

if (BuildConfig.DEBUG) {
    // 同意リクエスト前にデバッグ地域を設定
    Adrop.consentManager?.setDebugSettings(
        testDeviceHashedIds = listOf("YOUR_HASHED_DEVICE_ID"),  // Logcatで確認
        geography = AdropConsentDebugGeography.EEA  // GDPRテスト
    )

    // テスト用に同意状態をリセット
    Adrop.consentManager?.reset(this)
}
地域説明
DISABLED実際のデバイス位置を使用
EEAGDPRテスト(欧州経済領域)
REGULATED_US_STATECCPAテスト(カリフォルニアなど)
OTHER規制のない地域テスト

WebViewでAdSense広告

WebViewをAdrop SDKに登録してAdSense広告を表示します。

AndroidManifest.xml設定

WebViewでAdSenseを有効にするには、AndroidManifest.xmlに以下を追加してください:
AndroidManifest.xml
<manifest>
    <application>
        <!-- AdSense WebView統合 -->
        <meta-data
            android:name="com.google.android.gms.ads.INTEGRATION_MANAGER"
            android:value="webview"/>
    </application>
</manifest>
この設定はWebViewでAdSense広告が正常に動作するために必要です。この設定がないとAdSense広告が表示されない場合があります。

WebView登録

import android.webkit.WebView
import io.adrop.ads.Adrop

class WebViewActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val webView = findViewById<WebView>(R.id.webView)

        // AdSenseサポートのためにWebViewを登録
        // コンテンツ読み込み前にできるだけ早く呼び出す
        Adrop.registerWebView(webView)

        // Webコンテンツを読み込む
        webView.loadUrl("https://your-website.com")
    }
}
registerWebView()は以下のWebView設定を自動で構成します:
  • JavaScript有効化
  • DOMストレージ有効化
  • ユーザージェスチャーなしでメディア再生
  • サードパーティCookie有効化
このメソッドはメインスレッドでできるだけ早く呼び出してください(例:onCreate)。
WebViewでAdSenseを使用するにはadrop-ads-backfillモジュールが必要です。モジュールがインストールされていない場合、registerWebView()は静かに無視されます。

ベストプラクティス

バックフィル広告を有効化

すべての広告ユニットでバックフィル広告を有効にして、広告表示率と収益を最大化しましょう。

適切なタイムアウト設定

直接広告とバックフィル広告に適切なタイムアウトを設定して、ユーザー体験を向上させましょう。

バックフィル広告の分析

isBackfilledプロパティを使用して、直接広告とバックフィル広告の比率を追跡・分析しましょう。

広告ネットワークの最適化

複数のバックフィル広告ネットワークをテストし、最も高い収益を提供するネットワークを選択しましょう。

注意事項

  • バックフィル広告を使用するには、必ずio.adrop:adrop-ads-backfill依存関係を追加する必要があります。
  • AdMobを使用する場合、AndroidManifest.xmlにAPPLICATION_IDを必ず追加してください。
  • GDPR/CCPA準拠のため、広告読み込み前にUMP同意フローを実装してください。
  • バックフィル広告ネットワークのポリシーを遵守する必要があります。

関連ドキュメント