Questa pagina contiene le istruzioni per inizializzare GMA Next-Gen SDK.
Prima di iniziare
Questa guida è destinata agli editori e alle piattaforme di terze parti che integrano GMA Next-Gen SDK direttamente.
Se ti connetti ad AdMob tramite una piattaforma di mediazione di terze parti che supporta l'asta di partner, controlla la tabella seguente per verificare la compatibilità della piattaforma con GMA Next-Gen SDK.
| Piattaforma di mediazione | Compatibile con GMA Next-Gen SDK |
|---|---|
| AdMost | |
| AppLovin MAX | |
| Chartboost Mediation | |
| DT Fairbid | |
| Gravite | |
| Nimbus | |
| TopOn | |
| TradPlus VisiM | |
| Unity LevelPlay |
Se vuoi utilizzare una piattaforma di mediazione non compatibile con GMA Next-Gen SDK, contatta la piattaforma di mediazione per richiedere assistenza.
Configura la build per GMA Next-Gen SDK
Le sezioni seguenti mostrano i passaggi necessari per configurare GMA Next-Gen SDK.
Includi la dipendenza GMA Next-Gen SDK
GMA Next-Gen SDK richiede una dipendenza Gradle diversa. Nel file di build a livello di app, rimuovi il riferimento alla dipendenza Google 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.5.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:25.5.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:25.5.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.4.0") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:25.5.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.4.0' } |
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 escludere Google Mobile Ads SDK (Legacy) dall'inclusione come dipendenza da parte degli 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 minimi e di compilazione
GMA Next-Gen SDK richiede un livello API Android minimo pari a 24 e un
livello API Android di compilazione pari a 34. Modifica i valori di minSdk e compileSdk nel file di build a livello di app impostandoli rispettivamente su 24 o versioni successive e 34 o versioni successive.
Inizializza GMA Next-Gen SDK
GMA Next-Gen SDK richiede l'inizializzazione prima del caricamento degli annunci, una modifica rispetto a Google Mobile Ads SDK (Legacy), dove 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.
Imposta l'ID app monetizzata con AdMob
I seguenti esempi impostano l'ID app monetizzata con AdMob in Google Mobile Ads SDK (Legacy) e GMA Next-Gen SDK:
| Google Mobile Ads SDK (Legacy) |
L'integrazione richiede un 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 |
Fornisci l'ID dell'app monetizzata con AdMob in modo programmatico nell'ambito 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 -> {}); |
Rivedere 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 AdMob 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 AdMob 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(); } } |