La médiation AdMob est une fonctionnalité qui vous permet de diffuser vos annonces sur vos applications à partir de plusieurs sources, y compris le réseau AdMob et les sources d'annonces tierces, dans un seul et même endroit. La médiation AdMob vous permet d'optimiser votre taux de remplissage et d'augmenter votre monétisation en envoyant des demandes d'annonces à plusieurs réseaux afin d'identifier celui qui convient le mieux à la diffusion d'annonces. Étude de cas.
Prérequis
Avant de pouvoir intégrer la médiation pour un format d'annonce, vous devez intégrer ce format d'annonce dans votre application :
- Bannières
- Annonces interstitielles
- Annonces natives
- Annonces avec récompense
- Annonces interstitielles avec récompense
Vous découvrez la médiation ? Consultez la présentation de la médiation AdMob.
Initialiser le SDK Google Mobile Ads (bêta)
Le guide de démarrage rapide vous montre comment initialiser le SDK Google Mobile Ads (bêta). Lors de cet appel d'initialisation, les adaptateurs de médiation sont également initialisés. Il est important d'attendre la fin de l'initialisation avant de charger des annonces afin de vérifier la participation complète de chaque réseau publicitaire à la première demande d'annonce.
L'exemple de code suivant montre comment vérifier l'état d'initialisation de chaque adaptateur avant d'envoyer une demande d'annonce.
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();
}
}
Exclure les modules com.google.android.gms
dans les intégrations de médiation
Les adaptateurs de médiation continuent de dépendre du SDK Google Mobile Ads (bêta) actuel. Toutefois, le SDK Google Mobile Ads (bêta) inclut toutes les classes requises par les adaptateurs de médiation. Pour éviter les erreurs de compilation liées aux symboles en double, vous devez exclure le SDK Google Mobile Ads (bêta) actuel de l'extraction en tant que dépendance par les adaptateurs de médiation.
Dans le fichier build.gradle
au niveau de l'application, excluez globalement les modules play-services-ads
et play-services-ads-lite
de toutes les dépendances.
configurations {
all {
exclude(group = "com.google.android.gms", module = "play-services-ads")
exclude(group = "com.google.android.gms", module = "play-services-ads-lite")
}
}
Vérifier quelle classe d'adaptateur de réseau publicitaire a chargé l'annonce
Voici un exemple de code qui enregistre le nom de la classe du réseau publicitaire pour une bannière :
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());
}
}
);
Utiliser des bannières avec la médiation AdMob
Veillez à désactiver l'actualisation dans toutes les UI de sources d'annonces tierces pour les blocs d'annonces de type bannière utilisés dans la médiation AdMob. Cela évite une double actualisation, car AdMob déclenche également une actualisation en fonction de la fréquence d'actualisation de votre bloc d'annonces au format bannière.
Lois des États américains sur la confidentialité et RGPD
Si vous devez respecter les lois sur la confidentialité des États américains ou le Règlement général sur la protection des données (RGPD), suivez les étapes décrites dans les paramètres des réglementations des États américains ou les paramètres du RGPD pour ajouter vos partenaires de médiation à la liste des partenaires publicitaires des États américains ou du RGPD dans la section "Confidentialité et messages" d'AdMob. Si vous ne le faites pas, les partenaires risquent de ne pas pouvoir diffuser d'annonces dans votre application.
Découvrez comment activer le traitement restreint des données et obtenir le consentement RGPD avec le SDK Google User Messaging Platform (UMP).