Questa pagina illustra le istruzioni per inizializzare l'SDK Google Mobile Ads (beta).
Prima di iniziare
Per utilizzare l'SDK Google Mobile Ads (beta), devi eseguire l'integrazione senza mediazione o utilizzare AdMob come piattaforma di mediazione. Le altre piattaforme di mediazione non sono compatibili con l'SDK Google Mobile Ads (beta).
Configurare la build per l'SDK Google Mobile Ads (beta)
Le sezioni seguenti mostrano i passaggi necessari per configurare l'SDK Google Mobile Ads (beta).
Includi la dipendenza dell'SDK Google Mobile Ads (beta)
L'SDK Google Mobile Ads (beta) 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 Google Mobile Ads (beta) |
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 Google Mobile Ads (beta) 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 Google Mobile Ads (beta) 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.
Inizializzare l'SDK Google Mobile Ads (beta)
L'SDK Google Mobile Ads (beta) 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 Google Mobile Ads (beta) e quello attuale.
Imposta l'ID app AdMob
I seguenti esempi impostano l'ID app AdMob nell'SDK Google Mobile Ads (beta) e in quello attuale:
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 Google Mobile Ads (beta) |
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 Google Mobile Ads SDK (beta). InitializationConfig initConfig = new InitializationConfig.Builder("SAMPLE_APP_ID").build(); MobileAds.initialize(this, initConfig, initializationStatus -> {}); |
Rivedere le modifiche all'implementazione
I seguenti esempi inizializzano l'SDK Google Mobile Ads (beta) e quello attuale:
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 Google Mobile Ads (beta) |
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 Google Mobile Ads SDK (beta) 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 Google Mobile Ads SDK (beta) 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(); } } |