Halaman ini mencakup petunjuk untuk melakukan inisialisasi GMA Next Gen SDK.
Sebelum memulai
Untuk menggunakan GMA SDK Generasi Berikutnya, Anda harus melakukan integrasi tanpa mediasi atau menggunakan AdMob sebagai platform mediasi. Platform mediasi lainnya tidak kompatibel dengan GMA SDK Generasi Berikutnya.
Mengonfigurasi build untuk GMA Next Gen SDK
Bagian berikut menunjukkan langkah-langkah yang diperlukan untuk mengonfigurasi GMA Next Gen SDK.
Sertakan dependensi GMA Next Gen SDK
GMA Next Gen SDK 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 |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.7.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.7.0' } |
| GMA Next Gen SDK |
Kotlindependencies { // ... // 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") } Groovydependencies { // ... // 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, GMA Next Gen SDK mencakup 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.
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
GMA Next Gen SDK 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.
Lakukan inisialisasi GMA Next Gen SDK
GMA Next Gen SDK 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 penerapan inisialisasi SDK antara SDK GMA Generasi Saat Ini dan Generasi Berikutnya.
Menetapkan ID aplikasi AdMob
Contoh berikut menetapkan ID aplikasi AdMob di SDK GMA Generasi Berikutnya dan saat ini:
| Saat ini |
Integrasi memerlukan tag <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> |
| GMA Next Gen SDK |
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 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 Generasi Berikutnya GMA dan saat ini:
| 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 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. } } } 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 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(); } } |