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 AdMob 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 Next Gen.
Includi la dipendenza dell'SDK GMA Next Gen
L'SDK GMA Next Gen 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.7.0") } Trendydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.7.0' } |
| SDK GMA di nuova generazione |
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") } Trendydependencies { // ... // 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' } |
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'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.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") } }
Impostare i livelli API Android minimi e di compilazione
L'SDK GMA Next Gen 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'SDK Mobile Ads attuale, 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 AdMob
Gli esempi seguenti impostano l'ID app AdMob nell'SDK attuale e in GMA Next Gen:
| Attuale |
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> |
| SDK GMA di nuova generazione |
Fornisci l'ID app 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 l'SDK attuale e GMA Next Gen:
| 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 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(); } } |