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, au 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.
Pour les enchères : SDK Google Mobile Ads 18.3.0 ou version ultérieure.
Initialiser le SDK Mobile Ads
Le guide de démarrage rapide vous explique comment initialiser le SDK Mobile Ads. 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 garantir la pleine participation 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.
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...
}
}
}
}
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 :
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)
}
Pour en savoir plus sur cette méthode, consultez la documentation ResponseInfo
sur getMediationAdapterClassName()
.
Initialiser votre objet d'annonce avec une instance d'activité
Dans le constructeur d'un nouvel objet d'annonce (par exemple, AdView
), vous devez transmettre un objet de type Context
.
Ce Context
est transmis aux autres réseaux publicitaires lorsque vous utilisez la médiation. Certains réseaux publicitaires nécessitent un Context
plus restrictif de type Activity
et peuvent ne pas être en mesure de diffuser des annonces sans instance Activity
. Par conséquent, nous vous recommandons de transmettre une instance Activity
lors de l'initialisation des objets d'annonce pour garantir une expérience cohérente avec vos réseaux publicitaires de médiation.
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".
Utiliser des annonces natives avec la médiation AdMob
Voici quelques bonnes pratiques à prendre en compte lorsque vous implémentez des annonces natives dans la médiation AdMob.
- Règles relatives à la présentation des annonces natives
- Chaque réseau publicitaire possède ses propres règles. Lorsque vous utilisez la médiation, il est important de vous rappeler que votre application doit toujours respecter les règles du réseau de médiation qui a fourni l'annonce.
- Utilisez
loadAd()
à la place deloadAds()
. - La méthode
loadAds()
ne diffuse que des annonces Google. Pour les annonces avec médiation, utilisez plutôtloadAd()
.
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, vos 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).