Menginisialisasi SDK

Halaman ini mencakup petunjuk untuk melakukan inisialisasi Google Mobile Ads SDK (beta).

Sebelum memulai

Untuk menggunakan Google Mobile Ads SDK (beta), Anda harus melakukan integrasi tanpa mediasi atau menggunakan AdMob sebagai platform mediasi. Platform mediasi lainnya tidak kompatibel dengan Google Mobile Ads SDK (beta).

Mengonfigurasi build untuk Google Mobile Ads SDK (beta)

Bagian berikut menunjukkan langkah-langkah yang diperlukan untuk mengonfigurasi Google Mobile Ads SDK (beta).

Sertakan dependensi Google Mobile Ads SDK (beta)

Google Mobile Ads SDK (beta) memerlukan dependensi Gradle yang berbeda. Dalam file build tingkat aplikasi, hapus referensi ke dependensi Mobile Ads SDK saat ini dan sertakan artefak baru.

Dependensi Gradle
Saat ini

Kotlin

dependencies {
  // ...
  implementation("com.google.android.gms:play-services-ads:24.7.0")
}

Groovy

dependencies {
  // ...
  implementation 'com.google.android.gms:play-services-ads:24.7.0'
}
Google Mobile Ads SDK (beta)

Kotlin

dependencies {
  // ...
  // Comment out/remove play-services-ads.
  // implementation("com.google.android.gms:play-services-ads:24.7.0")
  implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01")
}

Groovy

dependencies {
  // ...
  // Comment out/remove play-services-ads.
  // implementation 'com.google.android.gms:play-services-ads:24.7.0'
  implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01'
}

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

Adaptor mediasi akan terus bergantung pada Mobile Ads SDK saat ini. Namun, Google Mobile Ads SDK (beta) mencakup semua class yang diperlukan oleh adaptor mediasi. Untuk menghindari error kompilasi terkait simbol duplikat, Anda harus mengecualikan Mobile Ads SDK saat ini agar tidak ditarik sebagai dependensi oleh adapter mediasi.

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

Kotlin

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

Groovy

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

Menetapkan level API Android minimum dan kompilasi

Google Mobile Ads SDK (beta) memerlukan level API Android minimum 24 dan level API Android kompilasi 34. Sesuaikan nilai minSdk dan compileSdk dalam file build tingkat aplikasi Anda menjadi 24 atau lebih tinggi dan 34 atau lebih tinggi.

Menginisialisasi Google Mobile Ads SDK (beta)

Google Mobile Ads SDK (beta) memerlukan inisialisasi sebelum memuat iklan, perubahan dari Mobile Ads SDK saat ini yang inisialisasinya bersifat opsional, tetapi direkomendasikan. Perbarui kode Anda jika sebelumnya Anda tidak melakukan inisialisasi SDK sebelum memuat iklan.

Bagian ini membahas perbedaan dalam implementasi inisialisasi SDK antara SDK Google Mobile Ads (beta) dan SDK saat ini.

Menetapkan ID aplikasi AdMob

Contoh berikut menetapkan ID aplikasi AdMob di Google Mobile Ads SDK (beta) dan saat ini:

Saat ini

Integrasi memerlukan tag <meta-data> dengan android:name="com.google.android.gms.ads.APPLICATION_ID" yang berisi ID aplikasi AdMob Anda dalam file AndroidManifest.xml aplikasi Anda.

<manifest>
  <application>
    <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="SAMPLE_APP_ID"/>
  </application>
</manifest>
Google Mobile Ads SDK (beta)

Berikan ID aplikasi AdMob Anda secara terprogram sebagai bagian dari inisialisasi SDK.

Kotlin

// Initialize the Google Mobile Ads SDK.
val initConfig = InitializationConfig.Builder("SAMPLE_APP_ID").build()
MobileAds.initialize(this@MainActivity, initConfig) {}

Java

// Initialize Google Mobile Ads SDK (beta).
InitializationConfig initConfig =
    new InitializationConfig.Builder("SAMPLE_APP_ID").build();
MobileAds.initialize(this, initConfig, initializationStatus -> {});

Meninjau perubahan penerapan

Contoh berikut menginisialisasi SDK Google Mobile Ads saat ini dan (beta):

Saat ini

Panggil MobileAds.initialize() untuk melakukan inisialisasi Google Mobile Ads SDK. Inisialisasi di thread latar belakang direkomendasikan untuk mengurangi ANR.

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) {}
    }
  }
}

Java

import com.google.android.gms.ads.MobileAds;
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 -> {});
            })
        .start();
  }
}
Google Mobile Ads SDK (beta)

Panggil MobileAds.initialize() untuk melakukan inisialisasi Google Mobile Ads SDK (beta). Metode ini harus dipanggil di thread latar belakang. Jika tidak dilakukan, error "Aplikasi Tidak Merespons" (ANR) dapat terjadi.

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 Google Mobile Ads SDK (beta) on a background thread.
      MobileAds.initialize(
        this@MainActivity,
        // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
        InitializationConfig.Builder("SAMPLE_APP_ID").build()
      ) {
        // 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.InitializationConfig;

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

    new Thread(
            () -> {
              // Initialize Google Mobile Ads SDK (beta) on a background thread.
              MobileAds.initialize(
                  this,
                  // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
                  new InitializationConfig.Builder("SAMPLE_APP_ID")
                      .build(),
                  initializationStatus -> {
                    // Adapter initialization is complete.
                  });
              // Other methods on MobileAds can now be called.
            })
        .start();
  }
}