Partager via


Mediate avec les instructions du SDK Android

Remarque

Android Studio et Gradle

Ces instructions supposent que vous utilisez Android Studio et Gradle. La plupart des entrées requises AndroidManifest.xml (à l’exception des autorisations d’emplacement) et des modifications ProGuard sont automatiquement ajoutées à votre application. Si vous utilisez d’autres systèmes de génération, les étapes peuvent varier.

La médiation vous permet de vendre des impressions publicitaires via plusieurs réseaux pour générer plus de revenus. Ceci est initié par votre SDK principal (mediating) qui appelle un ou plusieurs KITS DE développement logiciel (SDK) médiatisé dans un processus de type « cascade ». Si votre SDK principal ne peut pas afficher une publicité pour une raison quelconque, il peut itérer sur la liste des KITS de développement logiciel (SDK) médiattés et les contacter dans l’ordre que vous spécifiez. Cette opération se poursuit jusqu’à ce que l’impression soit remplie ou que vous n’ayez plus de kits SDK médiatés.

Les raisons de médiation pour un autre KIT de développement logiciel (SDK) sont les suivantes :

  • Fournir une meilleure monétisation dans des circonstances spécifiques
  • Pour fournir l’accès à des informations telles qu’un ID utilisateur unique ou le système d’exploitation, l’emplacement ou l’ID de l’appareil
  • Certains réseaux acceptent uniquement les demandes de leurs propres kits sdk, ce qui vous oblige à utiliser leur SDK pour accéder à leur demande

Réseaux et types de médias pris en charge

Cette section répertorie les réseaux que nous prenons en charge avec les adaptateurs de médiation, ainsi que les types de médias pris en charge par chaque adaptateur. Pour chaque adaptateur, nous montrons si l’adaptateur prend en charge les bannières, les interstitiels, les natifs ou les trois.

Adaptateur Version Bannière Interstitielle Natif Docs
Google AdMob et DFP 22.3.0 Oui Oui Oui Google Mobile Ads - Médiation Android
SmartAdServer 7.23.0 Oui Oui Non Documentation du Kit de développement logiciel (SDK) SmartAdServer

Paramètres Maven

Pour assurer la médiation de ces réseaux, vous aurez besoin d’une version prise en charge de notre KIT de développement logiciel (SDK) et d’un adaptateur de médiation qui permet à notre SDK de communiquer avec le KIT de développement logiciel (SDK) du réseau. Le moyen le plus simple d’obtenir le SDK et les adaptateurs consiste à utiliser Maven à partir de votre build.gradle , comme indiqué dans l’exemple ci-dessous. Le premier bloc inclut les dépendances du KIT de développement logiciel (SDK). Le deuxième bloc répertorie les adaptateurs pour la médiation d’autres kits SDK. Notez qu’il s’agit de blocs de niveau supérieur, qui ne font pas partie du bloc buildscript. Vous pouvez inclure ou exclure l’un des adaptateurs dans le deuxième bloc. L’inclusion d’un adaptateur entraîne l’inclusion automatique du SDK tiers approprié (qui est téléchargé à partir de notre CDN au moment de la synchronisation Gradle).

Enfin, notez que la [9,10) notation signifie que lorsque votre application est compilée, la dernière version du Kit de développement logiciel (SDK) de la série 9.x est incluse. Lorsque nous publions une nouvelle version du Kit de développement logiciel (SDK), il vous suffit de recompiler votre application pour obtenir la nouvelle version.

repositories {
    mavenCentral()
}
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.appnexus.opensdk:appnexus-sdk:[9,10)'
    implementation 'com.appnexus.opensdk.mediatedviews:appnexus-googleplay-mediation:[9,10)'
    implementation 'com.appnexus.opensdk.mediatedviews:appnexus-smartadserver-mediation:[9,10)'
}

Avertissement

Ne modifiez pas les fichiers des adaptateurs de build.gradle médiation. Cela peut interrompre la build.

Configuration propre au réseau

Cette section contient des informations sur la configuration des Kits de développement logiciel (SDK) d’autres réseaux pour la médiation, notamment des exemples de code (quand une configuration spéciale est requise) et des liens vers la documentation de ce SDK.

Admob

Remarque

Pour mobile SDK 7.22 ou version ultérieure, la médiation avec la version Google Ad Mob nécessite une dépendance explicite sur androidx.work:work-runtime:2.7.0 pour corriger un bogue provoquant des blocages d’application sur Android S. Pour résoudre ce bogue, ajoutez les dépendances suivantes pour le Kit de développement logiciel (SDK) Google Mobile Ads au fichier Gradle au niveau de l’application de votre module :

dependencies {
  implementation 'com.google.android.gms:play-services-ads:20.4.0'
  // For apps targeting Android 12, add WorkManager dependency.
  constraints {
    implementation('androidx.work:work-runtime:2.7.0') {
      because '''androidx.work:work-runtime:2.1.0 pulled from
      play-services-ads has a bug using PendingIntent without
      FLAG_IMMUTABLE or FLAG_MUTABLE and will fail in Apps
      targeting S+.'''
    }
  }
}

Avertissement

Rappels de cycle de vie requis

Lors de la médiation de bannières AdMob/DFP, vous devez ajouter des rappels de cycle de vie à votre code, comme décrit dans la section ci-dessous.

Note d’implémentation - Rappels de cycle de vie de transfert

Comme nous devons transférer les rappels de cycle de vie à la bannière AdMob/DFP en fonction des besoins. Pour plus d’informations sur les cycles de vie des activités, consultez Gestion du cycle de vie de l’activité dans la documentation Android.

Le Kit de développement logiciel (SDK) vous permet de transférer des rappels de cycle de vie pour les sous-classes de AdView:BannerAdView et InterstitialAdView.

Le transfert des rappels de cycle de vie est fortement recommandé pour de meilleures performances. Pour toute personne qui médiatise des bannières AdMob/DFP, il est obligatoire qu’elles soient appelées, car nous devons transférer les rappels de cycle de vie à la bannière AdMob/DFP comme ils l’exigent. Consultez l’exemple de code ci-dessous pour plus d’informations sur les méthodes à appeler et quand.

Pour plus d’informations sur les cycles de vie des activités, consultez Gestion du cycle de vie de l’activité dans la documentation Android.

/**
 * To be called by the developer when the fragment/activity's onDestroy() function is called.
 */
abstract public void activityOnDestroy();
/**
 * To be called by the developer when the fragment/activity's onPause() function is called.
 */
abstract public void activityOnPause();
/**
 * To be called by the developer when the fragment/activity's onResume() function is called.
 */
abstract public void activityOnResume();

Médiation native

Remarque

À compter de la version 5.1 du SDK, le code de l’adaptateur AdMob Native Mediation a été modifié pour prendre en charge Google UnifiedNativeAd.

Les éléments suivants ne sont plus pertinents et ont été supprimés :

AdMobNativeSettings.setEnableAppInstallAd();
AdMobNativeSettings.setEnableContentAd();

Pour la médiation native, ajoutez le code d’initialisation comme décrit ici :

Si vous envisagez d’utiliser MediaView pour l’affichage d’images/vidéos, vous devez activer MediaView avant d’effectuer une demande d’annonce. Si vous ne l’activez pas explicitement, nous téléchargeons les images pour vous et MediaView ne les remplirons pas automatiquement.

AdMobNativeSettings.setEnableMediaView(true);

Si le NativeAdResponse provient d’AdMob, créez une vue de type UnifiedNativeAdView.

private NativeAdRequestListener nativeAdRequestListener = new NativeAdRequestListener() {
 
    @Override
    public void onAdLoaded(NativeAdResponse response) {
        if (response.getNetworkIdentifier() == NativeAdResponse.Network.ADMOB) {
                // Instantiate UnifiedNativeAdView 
                // Set MediaView - Sets a media view for media content.
                // The media content gets loaded on the MediaView, if attached to the layout hierarchy and is registered using the setMediaView(...)
        }
    }
 
    @Override
    public void onAdFailed(ResultCode errorcode) {
  
    }
}

Définition du mot clé personnalisé

Pour transmettre l’URL de contenu au Kit de développement logiciel (SDK) Google, le contenturl doit être passé en tant que mot clé personnalisé avec l’objet d’annonce du demandeur (BannerAdView, InterstitialAdView, NativeAdRequest). La clé à utiliser est content_url. Voici un exemple :

// Add key content_url with a value (www.appnexus.com).
adView.addCustomKeywords("content_url", "www.appnexus.com");

Pour plus d’informations sur le Kit de développement logiciel (SDK) Google, consultez le Kit de développement logiciel (SDK) Google Mobile Ads.

SmartAdServer

Aucune configuration spéciale n’est requise.

Pour plus d’informations sur le Kit de développement logiciel (SDK) SmartAdServer, consultez sa documentation.

Si vous envisagez de prendre en charge les appareils Huawei qui ne disposent plus des services Google (nécessaires pour la récupération d’ID de publicité), vous devez également déclarer le référentiel des bibliothèques de support de Huawei. Pour prendre en charge les appareils Huawei avec l’adaptateur SAS, les éditeurs doivent ajouter les éléments suivants au niveau racine build.gradle de votre projet :

// Optional: Huawei services dependencies repository  
maven { url '[https://developer.huawei.com/repo/](https://developer.huawei.com/repo/)' }

Avertissement

Interludes

Si vous utilisez smartAdServer interstitial, sachez qu’il SASInterstitialView n’existe loadAd() pas de méthodes et showAd() correspondant à notre KIT de InterstitialAdViewdéveloppement logiciel (SDK) mobile. SASInterstitialView n’a que la méthode qui effectue à la loadAd() fois le chargement et l’affichage des annonces en un seul appel.

Pour être cohérent avec la séquence d’appels de notre KIT de InterstitialAdView loadAd() développement logiciel (SDK) mobile et InterstitialAdView.showAd() la séquence d’appels de méthode, nous n’affichons pas tant SASInterstitialView que n’est InterstitialAdView.showAd() pas appelé.

En d’autres termes, il est prévu que votre application appelle immédiatement showAd()InterstitialAdView.onAdLoaded(). Si ce n’est pas le cas, ne SASInterstitialView s’affiche pas.

Configuration du placement pour la médiation interstitielle

Utilisez les paramètres de placement suivants pour la médiation interstitielle.

Médiation interstitielle

Si vous souhaitez effectuer une médiation interstitielle, assurez-vous que votre placement est configuré avec :

  • Taille : 1x1
  • Type de média : Interstitial

Médiation interstitielle plus RTB et/ou demande gérée

Si vous souhaitez effectuer une médiation interstitielle et accepter rtb et/ou demande gérée par le biais du même placement, vous devez vous assurer que votre placement est configuré avec :

  • Taille : 1x1
  • Type de média : Interstitial
  • Type de média : Bannière

Pour plus d’instructions sur la création de placements, consultez Créer un placement dans la documentation Monétiser.

Pour une demande non médiée, vous devez passer les tailles réelles des éléments créatifs dans vos appels publicitaires à l’aide du promo_sizes paramètre de balise de placement.

Pour obtenir des instructions sur la transmission de tailles interstitielles personnalisées, consultez « Utilisation de tailles interstitielles personnalisées » dans la documentation Afficher les interstitiels sur Android .

Réseaux mobiles personnalisés

L’interface utilisateur Xandr prend en charge un certain nombre de réseaux publicitaires mobiles populaires. Si vous souhaitez effectuer la médiation d’un réseau qu’il ne prend pas en charge, vous devez :

  • Écrivez un adaptateur de médiation personnalisé qui permet à notre SDK de recevoir des événements à partir du KIT de développement logiciel (SDK) que vous souhaitez effectuer.
  • Configurez un réseau mobile personnalisé en suivant les instructions fournies dans Ajouter un réseau.