Premiers pas

Ce guide vous explique comment intégrer un adaptateur de médiation à votre application Android.

Conditions préalables

Avant de pouvoir intégrer la médiation pour un format d'annonce, vous devez intégrer ce format dans votre application:

Vous découvrez la médiation ? Consultez l'article Présentation de la médiation.

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 une 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.

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 réseau publicitaire a chargé l'annonce

Voici un exemple de code qui consigne le nom de 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 Activity

Dans le constructeur d'un nouvel objet d'annonce (par exemple, AdManagerAdView), 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 risquent de ne pas pouvoir diffuser d'annonces sans instance Activity. Par conséquent, nous vous recommandons de transmettre une instance Activity lors de l'initialisation des objets d'annonces afin de garantir une expérience cohérente avec les réseaux publicitaires ajoutés à la médiation.

Utiliser des bannières avec la médiation

Veillez à désactiver l'actualisation dans toutes les interfaces utilisateur des sources d'annonces tierces pour les blocs de bannières utilisés dans la médiation. Cela permet d'éviter une double actualisation, car Ad Manager déclenche également une actualisation en fonction de la fréquence d'actualisation de votre bloc de bannières.

Utiliser des annonces natives avec la médiation

Voici quelques bonnes pratiques à prendre en compte lors de la mise en œuvre de la médiation native.

Règlement concernant la présentation des annonces natives
Chaque réseau publicitaire a ses propres règles. Lorsque vous utilisez la médiation, n'oubliez pas que votre application doit toujours respecter les règles du réseau de médiation qui a fourni l'annonce.
Utiliser loadAd() à la place de loadAds()
La méthode loadAds() ne diffuse que des annonces Google. Pour les annonces par médiation, utilisez plutôt loadAd().

Lois des États américains sur la confidentialité et RGPD

Si vous devez respecter les lois sur la confidentialité dans les États américains ou le Règlement général sur la protection des données (RGPD), suivez les étapes des paramètres des réglementations des États américains ou des paramètres concernant le RGPD pour ajouter vos partenaires de médiation à la liste des États américains ou de la liste des partenaires publicitaires sur le RGPD dans l'outil Confidentialité et messages d'Ad Manager. Sinon, les partenaires risquent de ne pas pouvoir diffuser d'annonces dans votre application.

Découvrez comment activer le traitement restreint des données (TRD) et obtenir votre consentement concernant le RGPD à l'aide du SDK Google User Messaging Platform (UMP).