Questa pagina illustra le istruzioni per inizializzare l'SDK GMA di nuova generazione.
Prima di iniziare
Per utilizzare l'SDK GMA di nuova generazione, devi eseguire l'integrazione senza mediazione oppure utilizzare Ad Manager come piattaforma di mediazione. Le altre piattaforme di mediazione non sono compatibili con l'SDK GMA di nuova generazione.
Configura la build per l'SDK GMA di nuova generazione
Le sezioni seguenti mostrano i passaggi necessari per configurare l'SDK GMA di nuova generazione.
Includi la dipendenza dell'SDK GMA di nuova generazione
L'SDK GMA di nuova generazione richiede una dipendenza Gradle diversa. Nel file di build a livello di app, rimuovi il riferimento alla dipendenza corrente dell'SDK Mobile Ads e includi il nuovo artefatto.
| Dipendenze Gradle | |
|---|---|
| Attuale |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.8.0") } Trendydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.8.0' } |
| SDK GMA di nuova generazione |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:24.8.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta01") } Trendydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:24.8.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta01' } |
Escludere i moduli com.google.android.gms nelle integrazioni di mediazione
Gli adattatori di mediazione continuano a dipendere dall'SDK Mobile Ads attuale. Tuttavia, l'SDK GMA di nuova generazione include tutte le classi richieste dagli adattatori di mediazione. Per evitare errori di compilazione correlati a simboli duplicati, devi escludere l'SDK Mobile Ads attuale dall'inserimento 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.all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Trendy
configurations { all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") } }
Imposta i livelli API Android minimi e di compilazione
L'SDK GMA di nuova generazione richiede un livello API Android minimo di 24 e un
livello API Android di compilazione di 34. Modifica i valori di minSdk e compileSdk nel file di build a livello di app impostandoli rispettivamente su 24 o superiore e 34 o superiore.
Inizializza l'SDK GMA di nuova generazione
L'SDK GMA di nuova generazione richiede l'inizializzazione prima del caricamento degli annunci, una modifica rispetto all'attuale SDK Mobile Ads, 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 l'SDK attuale e l'SDK GMA di nuova generazione.
Imposta l'ID app Ad Manager
Gli esempi seguenti impostano l'ID app Ad Manager nell'SDK attuale e in quello di nuova generazione GMA:
| Attuale |
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> |
| SDK GMA di nuova generazione |
Fornisci l'ID app Ad Manager 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 l'SDK attuale e l'SDK GMA di nuova generazione:
| Attuale |
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(); } } |
| SDK GMA di nuova generazione |
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. } // 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 Ad Manager 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(); } } |