Nesta página, você encontra instruções para inicializar o SDK do GMA de próxima geração.
Antes de começar
Para usar o SDK do GMA de próxima geração, você precisa fazer a integração sem mediação ou usar a AdMob como plataforma de mediação. As outras plataformas de mediação não são compatíveis com o SDK do GMA de última geração.
Configurar seu build para o SDK do GMA de última geração
As seções a seguir mostram as etapas necessárias para configurar o SDK de próxima geração da GMA.
Incluir a dependência do SDK do GMA de última geração
O SDK de próxima geração do GMA requer uma dependência do Gradle diferente. No arquivo de build no nível do app, remova a referência à dependência atual do SDK dos anúncios para dispositivos móveis e inclua o novo artefato.
| Dependências do Gradle | |
|---|---|
| Atual |
Kotlindependencies { // ... implementation("com.google.android.gms:play-services-ads:24.7.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.7.0' } |
| SDK de última geração do GMA |
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") } Groovydependencies { // ... // 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' } |
Excluir módulos com.google.android.gms em integrações de mediação
Os adaptadores de mediação continuam dependendo do SDK dos anúncios para dispositivos móveis atual. No entanto, o SDK de anúncios para dispositivos móveis de última geração inclui todas as classes necessárias para adaptadores de mediação. Para evitar erros de compilação relacionados a símbolos duplicados, exclua o SDK Mobile Ads atual para que ele não seja extraído como uma dependência pelos adaptadores de mediação.
No arquivo de build no nível do app, exclua os módulos play-services-ads e play-services-ads-lite globalmente de todas as dependências.
Kotlin
configurations.all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") }
Groovy
configurations { all { exclude(group = "com.google.android.gms", module = "play-services-ads") exclude(group = "com.google.android.gms", module = "play-services-ads-lite") } }
Definir os níveis mínimo e de compilação da API Android
O SDK de próxima geração do GMA exige um nível mínimo da API do Android de 24 e um nível de compilação da API do Android de 34. Ajuste os valores de minSdk e compileSdk no arquivo de build no nível do app para 24 ou mais e 34 ou mais, respectivamente.
Inicializar o SDK do GMA Next Gen
O SDK de última geração do GMA exige inicialização antes de carregar anúncios, uma mudança em relação ao SDK de anúncios para dispositivos móveis atual, em que a inicialização é opcional, mas recomendada. Atualize seu código se você não estava inicializando o SDK antes de carregar anúncios.
Esta seção aborda as diferenças na implementação da inicialização do SDK entre o SDK atual e o SDK de última geração do GMA.
Definir o ID do app da AdMob
Os exemplos a seguir definem o ID do app da AdMob no SDK atual e no SDK de última geração do GMA:
| Atual |
A integração exige uma 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 de última geração do GMA |
Forneça o ID do app da AdMob de forma programática como parte da inicialização do 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 -> {}); |
Analisar as mudanças na implementação
Os exemplos a seguir inicializam o SDK atual e o SDK de última geração do GMA:
| Atual |
Chame 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 de última geração do GMA |
Chame
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(); } } |