Nesta página, você verá instruções para inicializar o GMA Next-Gen SDK.
Antes de começar
Para usar o GMA Next-Gen SDK, 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 GMA Next-Gen SDK.
Configurar seu build para GMA Next-Gen SDK
As seções a seguir mostram as etapas necessárias para configurar o GMA Next-Gen SDK.
Incluir dependência GMA Next-Gen SDK
O GMA Next-Gen SDK 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:25.1.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:25.1.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:25.1.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.25.0-beta01") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:25.1.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.25.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, GMA Next-Gen SDK inclui todas as classes exigidas pelos adaptadores de mediação. Para evitar erros de compilação relacionados a símbolos duplicados, exclua o SDK de anúncios para dispositivos móveis 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.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" }
Definir os níveis mínimo e de compilação da API Android
O GMA Next-Gen SDK exige um nível mínimo da API Android de 24 e um nível de compilação da API 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 GMA Next-Gen SDK
O GMA Next-Gen SDK precisa ser inicializado 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 atual e o GMA Next-Gen SDK.
Definir o ID do app da AdMob
Os exemplos a seguir definem o ID do app da AdMob no atual e no GMA Next-Gen SDK:
| 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> |
| GMA Next-Gen SDK |
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 atual e GMA Next-Gen SDK:
| 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(); } } |
| GMA Next-Gen SDK |
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. } // 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(); } } |