En esta guía, se muestra cómo integrar un adaptador de mediación en tu app para Android.
Requisitos previos
Antes de integrar la mediación para un formato de anuncio, debes integrar ese formato de anuncio en tu app:
- Anuncios en forma de banner
- Anuncios intersticiales
- Anuncios nativos
- Anuncios recompensados
- Anuncios intersticiales recompensados
¿Es la primera vez que utilizas la mediación? Lee Introducción a la mediación.
Para las ofertas: SDK de anuncios de Google para dispositivos móviles 18.3.0 o una versión posterior
Inicializa el SDK de Mobile Ads
En la guía de inicio rápido, se muestra cómo inicializar el SDK de anuncios para dispositivos móviles. Durante esa llamada de inicialización, también se inicializan los adaptadores de mediación. Es importante esperar a que se complete la inicialización antes de cargar anuncios para garantizar la participación total de todas las redes de publicidad en la primera solicitud de anuncios.
En el siguiente código de muestra, se muestra cómo puedes verificar el estado de inicialización de cada adaptador antes de realizar una solicitud de anuncio.
Java
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
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 -> {
Map<String, AdapterStatus> statusMap =
initializationStatus.getAdapterStatusMap();
for (String adapterClass : statusMap.keySet()) {
AdapterStatus status = statusMap.get(adapterClass);
Log.d(
"MyApp",
String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status.getDescription(), status.getLatency()));
}
// Start loading ads here...
}))
.start();
}
}
Kotlin
import 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) { initializationStatus ->
val statusMap =
initializationStatus.adapterStatusMap
for (adapterClass in statusMap.keys) {
val status = statusMap[adapterClass]
Log.d(
"MyApp", String.format(
"Adapter name: %s, Description: %s, Latency: %d",
adapterClass, status!!.description, status.latency
)
)
}
// Start loading ads here...
}
}
}
}
Verifica qué clase de adaptador de red de publicidad cargó el anuncio
A continuación, se muestra un código de muestra que registra el nombre de la clase de la red de publicidad para un anuncio de banner:
Java
public void onAdLoaded() {
Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}
Kotlin
override fun onAdLoaded() {
Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}
Consulta la documentación de ResponseInfo
en getMediationAdapterClassName()
para obtener detalles sobre este método.
Inicializa tu objeto de anuncios con una instancia de actividad
En el constructor de un objeto de anuncio nuevo (por ejemplo,
AdManagerAdView
),
debes pasar un objeto del tipo
Context
.
Este Context
se pasa a otras redes de publicidad cuando se usa la mediación. Algunas redes de publicidad requieren un Context
más restrictivo que sea de tipo Activity
y es posible que no puedan publicar anuncios sin una instancia de Activity
. Por lo tanto,
te recomendamos pasar una instancia de Activity
cuando inicialices objetos de anuncios
para garantizar una experiencia uniforme con tus redes de anuncios mediadas.
Usa anuncios de banner con mediación
Asegúrate de inhabilitar la actualización en todas las IU de fuentes de anuncios de terceros para las unidades de anuncios de banner que se usan en la mediación. Esto evita una actualización doble, ya que Ad Manager también activa una actualización según la frecuencia de actualización de tu unidad de anuncios de banner.
Cómo usar anuncios nativos con la mediación
Las siguientes son algunas prácticas recomendadas que se deben tener en cuenta a la hora de implementar la mediación nativa.
- Política de presentación de anuncios nativos
- Cada red de publicidad tiene sus propias políticas. Cuando usas la mediación, es importante recordar que tu app aún debe cumplir con las políticas de la red mediada que proporcionó el anuncio.
- Usa
loadAd()
en lugar deloadAds()
- El método
loadAds()
solo publica anuncios de Google. Para los anuncios mediados, usaloadAd()
en su lugar.
Leyes de privacidad estatales de EE.UU. y el RGPD
Si necesitas satisfacer las leyes de privacidad de los estados de EE.UU. o el Reglamento General de Protección de Datos (GDPR), sigue los pasos que se indican en la configuración de las reglamentaciones estatales de EE.UU. o la configuración del GDPR para agregar a tus socios de mediación en la lista de estados de EE.UU. o de socios de anuncios del GDPR de Privacidad y mensajería de Ad Manager. De lo contrario, es posible que los socios no publiquen anuncios en tu app.
Obtén más información para habilitar el procesamiento de datos restringido (RDP) y obtener el consentimiento del GDPR con el SDK de Google User Messaging Platform (UMP).