Nesta página, você encontra 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 o 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:24.9.0") } Groovydependencies { // ... implementation 'com.google.android.gms:play-services-ads:24.9.0' } |
| GMA Next-Gen SDK |
Kotlindependencies { // ... // Comment out/remove play-services-ads. // implementation("com.google.android.gms:play-services-ads:24.9.0") implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta04") } Groovydependencies { // ... // Comment out/remove play-services-ads. // implementation 'com.google.android.gms:play-services-ads:24.9.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.22.0-beta04' } |
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 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.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 o 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 GMA Next-Gen SDK e no atual:
| 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. } // 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(); } } |