AdMob メディエーションは、Google AdMob または Google 広告からの AdMob ネットワーク、第三者の広告ソースなど複数のソースを AdMob キャンペーン。 AdMob メディエーションで広告掲載率を最大化し、収益を拡大しましょう 複数のネットワークに広告リクエストを送信し、 ネットワークを介して広告を配信できます 事例紹介。
前提条件
特定の広告フォーマットにメディエーションを統合するには、統合する必要があります アプリに実装:
メディエーションを初めてご利用の場合は、読む AdMob メディエーションの概要
入札の場合: Google Mobile Ads SDK 18.3.0 以上です。
Mobile Ads SDK を初期化する
クイック スタートガイドでは、モバイル広告を初期化 SDK。 この初期化の呼び出し中に、メディエーション アダプタも 初期化されます。初期化が完了するのを待ってから、 すべての広告ネットワークから最大限の参加が 最初の広告リクエストです
次のサンプルコードは、各アダプターの初期化を確認する方法を示しています。 ステータスが表示されます。
Java
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(
() ->
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(
this,
initializationStatus -> {
Map<String, AdapterStatus> statusMap =
initializationStatus.getAdapterStatusMap();
for (String adapterClass : statusMap.keySet()) {
AdapterStatus status = statusMap.get(adapterClass);
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status.getDescription(), status.getLatency()));
}
// Start loading ads here...
}))
.start();
}
}
Kotlin
import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val backgroundScope = CoroutineScope(Dispatchers.IO)
backgroundScope.launch {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this@MainActivity) { initializationStatus ->
val statusMap =
initializationStatus.adapterStatusMap
for (adapterClass in statusMap.keys) {
val status = statusMap[adapterClass]
Log.d(
"MyApp", String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status!!.description, status.latency
)
)
}
// Start loading ads here...
}
}
}
}
広告を読み込んだ広告ネットワーク アダプタのクラスを確認する
以下は、バナー広告の広告ネットワーク クラス名をログに記録するサンプルコードです。
Java
public void onAdLoaded() {
Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}
Kotlin
override fun onAdLoaded() {
Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}
getMediationAdapterClassName()
の ResponseInfo
のドキュメントをご覧ください。
をご覧ください。
広告オブジェクトを Activity インスタンスで初期化する
新しい広告オブジェクトのコンストラクタ(
AdView
),
@type 型のオブジェクトを渡す必要があります。
Context
。
この Context
は、メディエーションの使用時に他の広告ネットワークに渡されます。一部
広告ネットワークでは、より制限の厳しい Context
タイプが必要です。
Activity
Activity
インスタンスがないと広告を配信できない可能性があります。したがって、
広告オブジェクトを初期化するときに Activity
インスタンスを渡すことをおすすめします。
メディエーションを使用する広告ネットワークで
一貫したエクスペリエンスを提供できます
AdMob メディエーションでバナー広告を使用する
バナー広告については、第三者広告ソースの UI で更新をすべて無効にしてください AdMob メディエーションで使用されるユニットの数。これにより AdMob では、バナー広告ユニットの情報に基づいて更新もトリガーされます。 リフレッシュレートを指定できます
AdMob メディエーションでネイティブ広告を使用する
ネイティブ広告を実装する際のおすすめの方法は次のとおりです。 ご覧ください
- ネイティブ広告の表示に関するポリシー
- 広告ネットワークごとに独自のポリシーがあります。メディエーションを使用する際は 引き続き、メディエーション対象のポリシーにアプリが ネットワーク。
loadAds()
ではなくloadAd()
を使用するloadAds()
メソッドは、Google 広告のみを配信します。メディエーション向け広告の場合 代わりにloadAd()
を使用してください。
米国のプライバシー関連州法と GDPR
米国の州のプライバシー または一般データ保護法 規制(GDPR))については、 米国の州規制の手順 設定または GDPR 設定して AdMob のプライバシーとメッセージの 米国の州または GDPR 広告パートナーのリスト。そのようにしないと、 エラーが表示されます
制限付きデータ処理の有効化の詳細 (RDP)と GDPR の入手 Google User Messaging Platform(UMP) できます。