A Mediação da AdMob é um recurso que permite veicular anúncios de várias origens nos seus apps, incluindo a rede da AdMob e origens de anúncios de terceiros, em um só lugar. A mediação da AdMob ajuda a maximizar sua taxa de preenchimento e aumentar a monetização enviando solicitações de anúncios para várias redes com o objetivo de garantir que você encontre a melhor rede disponível para veicular anúncios. Estudo de caso.
Pré-requisitos
Antes de integrar a mediação para um formato de anúncio, é necessário integrar esse formato ao app:
- Anúncios de banner
- Anúncios intersticiais
- Anúncios nativos
- Anúncios premiados
- Anúncios intersticiais premiados
Não conhece a mediação? Leia a Visão geral da Mediação da AdMob.
Inicializar o SDK dos anúncios para dispositivos móveis do Google (Beta)
O guia de início rápido mostra como inicializar o SDK dos anúncios para dispositivos móveis do Google (Beta). Durante essa chamada de inicialização, os adaptadores de mediação também são inicializados. É importante aguardar a conclusão da inicialização antes de carregar anúncios para verificar a participação total de todas as redes de publicidade na primeira solicitação de anúncio.
O exemplo de código a seguir mostra como verificar o status de inicialização de cada adaptador antes de fazer uma solicitação de anúncio.
Kotlin
import 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, InitializationConfig.Builder("SAMPLE_APP_ID").build()) {
initializationStatus ->
for ((adapterName, adapterStatus) in initializationStatus.adapterStatusMap) {
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Status code: %s, Status string: %s, Latency: %d",
adapterName,
adapterStatus.initializationState,
adapterStatus.description,
adapterStatus.latency,
),
)
}
// Adapter initialization is complete.
}
// Other methods on MobileAds can now be called.
}
}
}
Java
import com.google.android.libraries.ads.mobile.sdk.MobileAds;
import com.google.android.libraries.ads.mobile.sdk.initialization.AdapterStatus;
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,
new InitializationConfig.Builder("SAMPLE_APP_ID")
.build(),
initializationStatus -> {
Map<String, AdapterStatus> adapterStatusMap =
initializationStatus.getAdapterStatusMap();
for (String adapterClass : adapterStatusMap.keySet()) {
AdapterStatus adapterStatus = adapterStatusMap.get(adapterClass);
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Status code: %s, Status description: %s,"
+ " Latency: %d",
adapterClass,
adapterStatus.getInitializationState(),
adapterStatus.getDescription(),
adapterStatus.getLatency()));
}
// Adapter initialization is complete.
});
// Other methods on MobileAds can now be called.
})
.start();
}
}
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 do Google (Beta) atual. No entanto, o SDK dos anúncios para dispositivos móveis do Google (beta) 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 dos Anúncios para dispositivos móveis do Google (Beta) atual para que ele não seja extraído como uma dependência pelos adaptadores de mediação.
No arquivo build.gradle
no nível do app, exclua os módulos play-services-ads
e play-services-ads-lite
globalmente de todas as dependências.
configurations {
all {
exclude(group = "com.google.android.gms", module = "play-services-ads")
exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}
}
Verificar qual classe de adaptador da rede de publicidade carregou o anúncio
Confira um exemplo de código que registra o nome da classe da rede de publicidade para um anúncio de banner:
Kotlin
BannerAd.load(
BannerAdRequest.Builder("AD_UNIT_ID", AdSize.BANNER).build(),
object : AdLoadCallback<BannerAd> {
override fun onAdLoaded(ad: BannerAd) {
Log.d(
"MyApp", "Adapter class name: " +
ad.getResponseInfo().mediationAdapterClassName
)
}
}
)
Java
BannerAd.load(
new BannerAdRequest.Builder("AD_UNIT_ID", AdSize.BANNER).build(),
new AdLoadCallback<BannerAd>() {
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
Log.d("MyApp",
"Adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}
}
);
Usar anúncios de banner com a Mediação da AdMob
Desative a atualização em todas as interfaces de origens de anúncios de terceiros para blocos de anúncios de banner usados na mediação da AdMob. Isso evita uma atualização dupla, já que a AdMob também aciona uma atualização com base na taxa de atualização do seu bloco de anúncios de banner.
Leis Estaduais de Privacidade dos EUA e GDPR
Se você precisar obedecer às leis de privacidade dos estados dos EUA ou ao Regulamento geral de proteção de dados (GDPR), siga as etapas em Configurações das regulamentações estaduais dos EUA ou Configurações do GDPR para adicionar seus parceiros de mediação à lista de parceiros de publicidade dos estados dos EUA ou do GDPR em "Privacidade e mensagens" da AdMob. Caso contrário, os parceiros não poderão veicular anúncios no seu app.
Saiba mais sobre como ativar o tratamento de dados restrito (RDP) e receber o consentimento do GDPR com o SDK da plataforma de mensagens aos usuários (UMP) do Google.