バックフィル広告は、直接広告がない場合に代替広告を自動的に表示して収益を最大化する機能です。Adropは、AdMob、Pangleなどの主要な広告ネットワークをバックフィル広告としてサポートしています。
バックフィル広告を使用するには、追加の依存関係のインストールが必要です:io.adrop:adrop-ads-backfill
インストール
1. Gradle設定
Settings.gradle.kts
Pangle広告ネットワークリポジトリを追加します:
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に追加します:
<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コンソールでバックフィル広告を有効にします:
- Adropコンソールにログイン
- 広告ユニットメニューに移動
- バックフィル広告を使用する広告ユニットを選択
- バックフィル設定セクションでバックフィル広告を有効化
- 使用するバックフィル広告ネットワークを選択(AdMob、Pangleなど)
- 広告ネットワーク別の設定を入力(例: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()
}
バックフィル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 | 実際のデバイス位置を使用 |
EEA | GDPRテスト(欧州経済領域) |
REGULATED_US_STATE | CCPAテスト(カリフォルニアなど) |
OTHER | 規制のない地域テスト |
WebViewでAdSense広告
WebViewをAdrop SDKに登録してAdSense広告を表示します。
AndroidManifest.xml設定
WebViewでAdSenseを有効にするには、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同意フローを実装してください。
- バックフィル広告ネットワークのポリシーを遵守する必要があります。
関連ドキュメント