Halaman ini membahas petunjuk untuk melakukan inisialisasi GMA Next-Gen SDK.
Sebelum memulai
Untuk menggunakan GMA Next-Gen SDK, Anda harus melakukan integrasi tanpa mediasi atau menggunakan Ad Manager sebagai platform mediasi. Platform mediasi lainnya tidak kompatibel dengan GMA Next-Gen SDK.
Mengonfigurasi build untuk GMA Next-Gen SDK
Bagian berikut menunjukkan langkah-langkah yang diperlukan untuk mengonfigurasi GMA Next-Gen SDK.
Menyertakan GMA Next-Gen SDK dependensi
GMA Next-Gen SDK memerlukan dependensi Gradle yang berbeda. Di file build level aplikasi, hapus referensi ke dependensi Mobile Ads SDK saat ini dan sertakan artefak baru.
| Dependensi Gradle | |
|---|---|
| Saat ini |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:25.2.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:25.2.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:25.2.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.0.1") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:25.2.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.0.1' } |
Mengecualikan modul com.google.android.gms dalam integrasi mediasi
Adapter mediasi terus bergantung pada 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 Mobile Ads SDK saat ini agar tidak ditarik sebagai dependensi oleh adapter mediasi.
Di file build 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" }
Menetapkan level API Android minimum dan kompilasi
GMA Next-Gen SDK memerlukan level API Android minimum 24 dan level API Android kompilasi 34. Sesuaikan nilai minSdk dan compileSdk di file build level aplikasi menjadi 24 atau lebih tinggi dan 34 atau lebih tinggi.
Melakukan inisialisasi GMA Next-Gen SDK
GMA Next-Gen SDK memerlukan inisialisasi sebelum memuat iklan, yang merupakan 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 penerapan inisialisasi SDK antara saat ini dan GMA Next-Gen SDK.
Menetapkan ID aplikasi Ad Manager
Contoh berikut menetapkan ID aplikasi Ad Manager di SDK saat ini dan GMA Next-Gen SDK:
| Saat ini |
Integrasi memerlukan tag <manifest> <application> <!-- Sample Ad Manager 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> |
| GMA Next-Gen SDK |
Berikan ID aplikasi Ad Manager 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 GMA Next-Gen SDK. InitializationConfig initConfig = new InitializationConfig.Builder("SAMPLE_APP_ID").build(); MobileAds.initialize(this, initConfig, initializationStatus -> {}); |
Meninjau perubahan penerapan
Contoh berikut melakukan inisialisasi SDK saat ini dan GMA Next-Gen SDK:
| Saat ini |
Panggil Kotlinimport 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) {} } } } Javaimport 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(); } } |
| GMA Next-Gen SDK |
Panggil
Kotlinimport 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, // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 InitializationConfig.Builder("SAMPLE_APP_ID").build() ) { // Adapter initialization is complete. } // SDK initialization is complete. If you don't want to wait for bidding adapters to finish // initializing, start loading ads now. } } } Javaimport 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 GMA Next-Gen SDK on a background thread. MobileAds.initialize( this, // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 new InitializationConfig.Builder("SAMPLE_APP_ID") .build(), initializationStatus -> { // Adapter initialization is complete. }); // SDK initialization is complete. If you don't want to wait for bidding adapters to // finish initializing, start loading ads now. }) .start(); } } |