Questa pagina illustra le istruzioni per inizializzare GMA Next-Gen SDK.
Prima di iniziare
Per utilizzare GMA Next-Gen SDK, devi eseguire l'integrazione senza mediazione o utilizzare Ad Manager come piattaforma di mediazione. Le altre piattaforme di mediazione non sono compatibili con GMA Next-Gen SDK.
Configurare la build per GMA Next-Gen SDK
Le sezioni seguenti mostrano i passaggi necessari per configurare GMA Next-Gen SDK.
Includere la dipendenza GMA Next-Gen SDK
Il GMA Next-Gen SDK richiede una dipendenza Gradle diversa. Nel file di build a livello di app, rimuovi il riferimento alla dipendenzaGoogle Mobile Ads SDK (Legacy)e includi il nuovo artefatto.
| Dipendenze Gradle | |
|---|---|
| Google Mobile Ads SDK (Legacy) |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:25.4.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:25.4.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:25.4.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.2.1") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:25.4.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.2.1' } |
Escludere i moduli com.google.android.gms nelle integrazioni di mediazione
Gli adattatori di mediazione continuano a dipendere da Google Mobile Ads SDK (Legacy). Tuttavia, GMA Next-Gen SDK include tutte le classi richieste dagli adattatori di mediazione. Per evitare errori di compilazione correlati a simboli duplicati, devi impedire che Google Mobile Ads SDK (Legacy) venga estratto come dipendenza dagli adattatori di mediazione.
Nel file di build a livello di app, escludi i moduli play-services-ads e
play-services-ads-lite a livello globale da tutte le dipendenze.
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" }
Impostare i livelli API Android minimo e di compilazione
GMA Next-Gen SDK richiede un livello API Android minimo di 24 e un
livello API Android di compilazione di 34. Modifica i valori minSdk e compileSdk nel file di build a livello di app impostandoli rispettivamente su 24 o superiore e 34 o superiore.
Inizializza GMA Next-Gen SDK
GMA Next-Gen SDK richiede l'inizializzazione prima del caricamento degli annunci, a differenza di Google Mobile Ads SDK (Legacy) in cui l'inizializzazione è facoltativa ma consigliata. Aggiorna il codice se in precedenza non inizializzavi l'SDK prima di caricare gli annunci.
Questa sezione illustra le differenze nell'implementazione dell'inizializzazione dell'SDK tra Google Mobile Ads SDK (Legacy) e GMA Next-Gen SDK.
Impostare l'ID app Ad Manager
Gli esempi seguenti impostano l' ID app Ad Manager in Google Mobile Ads SDK (Legacy) e GMA Next-Gen SDK:
| Google Mobile Ads SDK (Legacy) |
L'integrazione richiede un 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 |
Fornisci l'ID app Ad Manager a livello di programmazione come parte dell'inizializzazione dell'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 -> {}); |
Esaminare le modifiche all'implementazione
Gli esempi seguenti inizializzano Google Mobile Ads SDK (Legacy) e GMA Next-Gen SDK:
| Google Mobile Ads SDK (Legacy) |
Chiama 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 |
Chiama
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(); } } |