Menyiapkan Mediasi AdMob

Mediasi AdMob adalah fitur yang memungkinkan Anda menayangkan iklan ke aplikasi dari beberapa sumber, termasuk Jaringan AdMob dan sumber iklan pihak ketiga, di satu tempat. Mediasi AdMob membantu memaksimalkan rasio pengisian dan meningkatkan monetisasi dengan mengirimkan permintaan iklan ke beberapa jaringan untuk memastikan Anda menemukan jaringan terbaik yang tersedia untuk menayangkan iklan. Studi kasus.

Prasyarat

Sebelum dapat mengintegrasikan mediasi untuk format iklan, Anda harus mengintegrasikan format iklan tersebut ke dalam aplikasi:

Baru menggunakan mediasi? Baca Ringkasan Mediasi AdMob.

Menginisialisasi GMA Next-Gen SDK

Panduan memulai cepat menunjukkan cara menginisialisasi GMA Next-Gen SDK. Selama panggilan inisialisasi tersebut, adapter mediasi juga akan diinisialisasi. Anda harus menunggu inisialisasi selesai sebelum memuat iklan untuk memverifikasi partisipasi penuh dari setiap jaringan iklan pada permintaan iklan pertama.

Contoh kode berikut menunjukkan cara memeriksa status inisialisasi setiap adapter sebelum membuat permintaan iklan.

Kotlin

import com.google.android.libraries.ads.mobile.sdk.MobileAds
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig
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 GMA Next-Gen SDK on a background thread.
      MobileAds.initialize(this@MainActivity, InitializationConfig.Builder("SAMPLE_APP_ID").build()) {
        initializationStatus ->
        for ((adapterName, adapterStatus) in initializationStatus.adapterStatusMap) {
          Log.d(
            "MyApp",
            String.format(
              "Adapter name: %s, Status code: %s, Status string: %s, Latency: %d",
              adapterName,
              adapterStatus.initializationState,
              adapterStatus.description,
              adapterStatus.latency,
            ),
          )
        }
        // Adapter initialization is complete.
      }
      // Other methods on MobileAds can now be called.
    }
  }
}

Java

import com.google.android.libraries.ads.mobile.sdk.MobileAds;
import com.google.android.libraries.ads.mobile.sdk.initialization.AdapterStatus;
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig;

public class MainActivity extends AppCompatActivity {
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    new Thread(
            () -> {
              // Initialize GMA Next-Gen SDK on a background thread.
              MobileAds.initialize(
                  this,
                  new InitializationConfig.Builder("SAMPLE_APP_ID")
                      .build(),
                  initializationStatus -> {
                    Map<String, AdapterStatus> adapterStatusMap =
                        initializationStatus.getAdapterStatusMap();
                    for (String adapterClass : adapterStatusMap.keySet()) {
                      AdapterStatus adapterStatus = adapterStatusMap.get(adapterClass);
                      Log.d(
                          "MyApp",
                          String.format(
                              "Adapter name: %s, Status code: %s, Status description: %s,"
                                  + " Latency: %d",
                              adapterClass,
                              adapterStatus.getInitializationState(),
                              adapterStatus.getDescription(),
                              adapterStatus.getLatency()));
                    }
                    // Adapter initialization is complete.
                  });
              // Other methods on MobileAds can now be called.
            })
        .start();
  }
}

Mengecualikan modul com.google.android.gms dalam integrasi mediasi

Adapter mediasi terus bergantung pada Google Mobile Ads SDK saat ini. Namun ,GMA Next-Gen SDK menyertakan semua class yang diperlukan oleh adapter mediasi. Untuk menghindari error kompilasi terkait simbol duplikat, Anda harus mengecualikan saat ini Google Mobile Ads SDK agar tidak ditarik sebagai dependensi oleh mediasi adapter.

Di file build.gradle level aplikasi, kecualikan modul play-services-ads dan play-services-ads-lite secara global dari semua dependensi:

Kotlin

configurations.configureEach {
    exclude(group = "com.google.android.gms", module = "play-services-ads")
    exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}

Groovy

configurations.configureEach {
    exclude group: "com.google.android.gms", module: "play-services-ads"
    exclude group: "com.google.android.gms", module: "play-services-ads-lite"
}

Memeriksa class adapter jaringan iklan yang memuat iklan

Berikut contoh kode yang mencatat nama class jaringan iklan untuk iklan banner:

Kotlin

BannerAd.load(
  BannerAdRequest.Builder("AD_UNIT_ID", AdSize.BANNER).build(),
  object : AdLoadCallback<BannerAd> {
    override fun onAdLoaded(ad: BannerAd) {
      Log.d(
        "MyApp", "Adapter class name: " +
          ad.getResponseInfo().mediationAdapterClassName
      )
    }
  }
)

Java

BannerAd.load(
  new BannerAdRequest.Builder("AD_UNIT_ID", AdSize.BANNER).build(),
  new AdLoadCallback<BannerAd>() {
    @Override
    public void onAdLoaded(@NonNull BannerAd ad) {
      Log.d("MyApp",
          "Adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
    }
  }
);

Pastikan untuk menonaktifkan refresh di semua UI sumber iklan pihak ketiga untuk unit iklan banner yang digunakan dalam Mediasi AdMob. Tindakan ini mencegah refresh ganda karena AdMob juga memicu refresh berdasarkan kecepatan refresh unit iklan banner Anda.

Hukum privasi negara bagian Amerika Serikat dan GDPR

Jika Anda harus mematuhi hukum privasi negara bagian Amerika Serikat atau Peraturan Perlindungan Data Umum (GDPR), ikuti langkah-langkah di setelan peraturan negara bagian Amerika Serikat atau setelan GDPR untuk menambahkan partner mediasi Anda di daftar partner iklan negara bagian Amerika Serikat atau GDPR di Privasi & pesan AdMob. Jika tidak melakukannya, partner dapat gagal menayangkan iklan di aplikasi Anda.

Pelajari lebih lanjut cara mengaktifkan pemrosesan data yang dibatasi (RDP) dan mendapatkan izin GDPR dengan Google User Messaging Platform (UMP) SDK.