Cette page présente les migrations effectuées dans les versions actuelle et antérieures.
Passer de la version 22 à la version 23
Le niveau d'API Android minimal est 21
À partir de la version 23.0.0, le SDK Google Mobile Ads nécessite que toutes les applications soient
sur un niveau d'API Android minimal 21. Pour ajuster le niveau d'API, modifiez
la valeur de minSdkVersion
dans votre fichier build.gradle
au niveau de l'application sur 21 ou plus.
Méthodes obsolètes supprimées/remplacées
API v22.0.0 | API v23.0.0 |
---|---|
AdRequest.Builder.addTestDevice() | RequestConfiguration.Builder.setTestDeviceIds() |
AdRequest.Builder.tagForChildDirectedTreatment() | RequestConfiguration.Builder.setTagForChildDirectedTreatment() |
AdRequest.Builder.setIsDesignedForFamilies() | RequestConfiguration.Builder.setMaxAdContentRating() |
AdFormat.UNKNOWN | Aucun remplacement |
AdLoader.Builder.forUnifiedNativeAd() | AdLoader.Builder.forNativeAd() |
AdLoader.Builder.forCustomTemplateAd() | AdLoader.Builder.forCustomFormatAd() |
AdLoader.Builder.withNativeAdOptions(com.google.android.gms.ads.formats .NativeAdOptions)
|
AdLoader.Builder.withNativeAdOptions(com.google.android.gms.ads.nativead .NativeAdOptions)
|
vide MobileAds.setSameAppKeyEnabled() | boolean MobileAds.putPublisherFirstPartyIdEnabled() |
Passer de la version 21 à la version 22
Utiliser MobileAds.getVersion() pour obtenir la version du SDK Google Mobile Ads
Suppression de la méthode MobileAds.getVersionString()
dans la version 22.0.0 au profit de
de
MobileAds.getVersion()
La nouvelle méthode renvoie le numéro de version externe attendu (par exemple,
22.0.0
Pour plus d'informations sur ce changement, consultez l'article Utiliser la nouvelle version de Google Mobile
SDK Ads getVersion()
méthode.
Méthodes supprimées ou remplacées
Le tableau ci-dessous liste les modifications spécifiques apportées à la version 22.0.0.
v21.0.0 | v22.0.0 |
---|---|
MobileAds.getVersionString() | MobileAds.getVersion() |
NativeCustomFormatAd.getVideoMediaView() | NativeCustomFormatAd.getMediaContent() |
NativeCustomFormatAd.getVideoController() | NativeCustomFormatAd.getMediaContent().getVideoController() |
AdRequest.Builder.setAdInfo() | AdRequest.Builder.setAdString() |
MediationRewardedVideoAdAdapter | Adaptateur |
MediationRewardedVideoAdListener | |
com.google.android.gms.ads.mediation.VersionInfo | com.google.android.gms.ads.VersionInfo |
com.google.android.gms.ads.doubleclick.AppEventListener | com.google.android.gms.ads.admanager.AppEventListener |
Passer de la version 20 à la version 21
Mettre à jour minSdkVersion vers la version 19 ou ultérieure
À partir de la version 21.0.0, le SDK Google Mobile Ads nécessite que toutes les applications soient
sur un niveau d'API Android minimal 19. Pour ajuster le niveau d'API, modifiez
la valeur de minSdkVersion
dans le fichier de compilation de votre application sur 19 ou plus.
Appliquer la possibilité de valeur nulle stricte
En vue de l'application de la possibilité de valeur nulle stricte, les annotations @NonNull
sont
ajouté à toutes les API qui ne définissaient pas explicitement la possibilité de valeur nulle.
Cette modification peut endommager les applications Kotlin et celles qui utilisent la vérification des valeurs nulles Java.
s'il existe des violations de sécurité nulle et qu'elles n'ont pas été traitées auparavant
les valeurs null
de manière sécurisée (consultez la documentation Kotlin sur
Sécurité nulle
).
Suppression de la méthode addNetworkExtras()
La méthode addNetworkExtras()
qui transmet des paramètres supplémentaires en tant que
L'instance NetworkExtras
vers un adaptateur de réseau publicitaire spécifique a été abandonnée dans le SDK
version 20.3.0 et seront supprimées dans la version 21.0.0. Utilisez les
addNetworkExtrasBundle()
de la même classe AdRequest.Builder
.
Suppression des méthodes de localisation
Les méthodes de localisation suivantes seront supprimées dans la version 21.0.0:
- La méthode
setLocation(Location location)
de la classeAdRequest.Builder
qui définit la position de l'utilisateur pour le ciblage de la médiation. - La méthode
getLocation()
de la classeAdRequest
qui renvoie l'ID de l'utilisateur informations de ciblage géographique précédemment transmises à la méthodesetLocation(Location location)
. - La méthode
getLocation()
de la classeMediationAdConfiguration
qui renvoie la position géographique de l'utilisateur, si elle est définie parAdRequest
.
Les données de localisation ne sont pas utilisées par Google pour cibler des annonces. Vous devez utiliser des API tierces afin de fournir les informations aux réseaux publicitaires tiers si obligatoire.
Abandon des interfaces d'événements personnalisés
Les événements personnalisés permettent aux éditeurs Médiation AdMob pour configurer une source d'annonces participant à la cascade d'annonces dans l'une des valeurs suivantes : AdMob sources d'annonces compatibles.
Toutes les requêtes personnalisées
événement
sont obsolètes au profit du
Adapter
classe et
MediationAdLoadCallback
de commande.
Le tableau ci-dessous liste la classe ou l'interface correspondante à utiliser. Pour chaque interface d'événement personnalisé à partir de la version 21.0.0:
Interfaces de la version v20.0.0 | Classe/ Interface v21.0.0 |
---|---|
CustomEvent | Adaptateur |
CustomEventBanner | |
CustomEventInterstitial | |
CustomEventNative | |
CustomEventBannerListener |
Adaptateur
|
CustomEventInterstitialListener | |
CustomEventListener | |
CustomEventNativeListener |
Passer de la version 19 à la version 20
La version 20.0.0 comporte de nombreuses modifications destructives. Version 19.7.0 introduite Nombreuses nouvelles API, et obsolète ou renommé de nombreuses classes en vue de la création d'une version 20.0.0. Ce guide présente les principaux changements intervenus dans la version 20.0.0.
Mises à jour de l'API pour le format plein écran
À partir de la version 20.0.0, les interstitiels, les annonces avec récompense, les interstitiels avec récompense et Les formats d'annonces à l'ouverture d'une application sont standardisés afin de respecter une conception d'API cohérente.
Toutes les API de format plein écran utilisent les principes suivants:
- Une méthode de chargement statique
- Un mécanisme de gestionnaire ou de rappel de chargement similaire
- Utilisation des
FullScreenContentCallback
pour les rappels de présentation
Suppression de l'ancienne API RécompenseVideoAd
Les plus récents
RewardedAd
L'API a été introduite en mars 2019 et a été l'API privilégiée
depuis plus de 18 mois. Elle a fait l'objet de plus d'améliorations par rapport à la version précédente
L'API RewardedVideoAd
, qui permet de charger plusieurs annonces avec récompense
à la fois.
L'ancienne API RewardedVideoAd
a été supprimée de la version 20.0.0 du SDK.
Abandon des bannières intelligentes au profit des bannières adaptatives
Les bannières intelligentes sont obsolètes en faveur des bannières adaptatives annonces. Les bannières adaptatives offrent des performances supérieures et davantage de flexibilité pour définir la largeur de l'annonce. Si vous préférez continuer à utiliser des bannières pleine largeur, vous pouvez utiliser une bannière adaptative, comme illustré dans l'extrait de code suivant:
Java
public class MyActivity extends AppCompatActivity { ... private AdSize getFullWidthAdaptiveSize() { Display display = getWindowManager().getDefaultDisplay(); DisplayMetrics outMetrics = new DisplayMetrics(); display.getMetrics(outMetrics); float widthPixels = outMetrics.widthPixels; float density = outMetrics.density; int adWidth = (int) (widthPixels / density); return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth); } }
Kotlin
class MyActivity : AppCompatActivity() { ... private val adaptiveAdSize: AdSize get() { val display = windowManager.defaultDisplay val outMetrics = DisplayMetrics() display.getMetrics(outMetrics) val density = outMetrics.density var adWidthPixels = ad_view_container.width.toFloat() if (adWidthPixels == 0f) { adWidthPixels = outMetrics.widthPixels.toFloat() } val adWidth = (adWidthPixels / density).toInt() return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth) } }
Quitter la suppression du rappel d'application
Le rappel onAdLeftApplication
a été supprimé pour tous les formats d'annonces et a été remplacé par
de
ProcessLifecycleOwner
L'utilisation d'une API au niveau de l'OS vous avertit chaque fois que les utilisateurs quittent votre application, que cela soit dû à une interaction avec une annonce ou non.
Notez que le rappel onAdLeftApplication
n'a jamais été destiné à être une annonce
sur le gestionnaire de clics, et l'utilisation de ce rappel pour signaler les clics n'a généré aucune
une métrique précise. Par exemple, un clic sur l'icône "Choisir sa pub"
un navigateur externe a appelé le rappel, mais n'a pas été comptabilisé comme un clic.
Modification du nom des cours
Le tableau ci-dessous liste les noms de classes spécifiques qui ont été modifiés ou supprimés. En résumé :
- La plupart des classes associées à
UnifiedNativeAd
ont été renomméesNativeAd
. - Les
MobileAds.Settings
,NativeExpressAdView
etNativeAppInstallAd
Les classes et les vuesNativeContentAd
etInstreamAd
ont été supprimées. - Toutes les classes avec le préfixe
Publisher
ont été remplacées par un PréfixeAdManager
. - Le nom du package
InterstitialAd
a changé.
19.5.0 Classe | Classe 20.0.0 |
---|---|
com.google.android.gms.ads. | com.google.android.gms.ads. |
reward.RewardedVideoAd | rewarded.RewardedAd |
reward.RewardedVideoAdListener | récompense.RécompenseAdLoadCallback et FullScreenContentCallback |
reward.RewardItem | rewarded.RewardItem |
rewarded.RewardedAdCallback | OnUserEarnedRewardListener |
formats.UnifiedNativeAdView | nativead.NativeAdView |
formats.UnifiedNativeAd | nativead.NativeAd |
formats.UnifiedNativeAdAssetNames | nativead.NativeAdAssetNames |
formats.UnifiedNativeAd.OnUnifiedNativeAdLoadedListener | nativead.NativeAd.OnNativeAdLoadedListener |
formats.AdChoicesView | nativead.AdChoicesView |
formats.NativeAd.AdChoicesInfo | nativead.NativeAd.AdChoicesInfo |
formats.MediaView | nativead.MediaView |
formats.NativeAdViewHolder | nativead.NativeAdViewHolder |
formats.NativeAdOptions | nativead.NativeAdOptions |
formats.NativeCustomTemplateAd | nativead.NativeCustomFormatAd |
formats.NativeCustomTemplateAd |
nativead.NativeCustomFormatAd |
MobileAds.Settings | Supprimée |
doubleclick.PublisherAdRequest | admanager.AdManagerAdRequest |
doubleclick.PublisherAdView | admanager.AdManagerAdView |
formats.PublisherAdViewOptions | formats.AdManagerAdViewOptions |
doubleclick.PublisherInterstitialAd | admanager.AdManagerInterstitialAd |
InterstitialAd | interstitial.InterstitialAd |
NativeExpressAdView | Supprimée |
instream.InstreamAd | Supprimée |
mediation.admob.AdMobExtras | Supprimée |
Correlator | Supprimée |
search.SearchAdRequest | Supprimée |
Interface AdRequest.TagForUnderAgeOfConsent | Supprimée |
Interface AdRequest.MaxAdContentRating | Supprimée |
formats.NativeAppInstallAd | native.NativeAd |
formats.NativeAppInstallAdView | native.NativeAdView |
mediation.NativeAppInstallAdMapper | mediation.UnifiedNativeAdMapper |
formats.NativeContentAd | native.NativeAd |
formats.NativeContentAdView | native.NativeAdView |
mediation.NativeContentAdMapper | mediation.UnifiedNativeAdMapper |
Méthodes supprimées/remplacées
Le tableau ci-dessous liste les modifications spécifiques apportées à la version 20.0.0. En résumé :
- Les méthodes d'initialisation obsolètes ont été supprimées de la classe MobileAds.
- Certaines méthodes de la classe
AdRequest.Builder()
ont été supprimées ou déplacée vers la classeRequestConfiguration
. - Les API RewardAd et InterstitielAd ont été mises à jour pour correspondre les formats plein écran.
- Les fonctionnalités de corrélateur ont été supprimées.
Classe | API v19.5.0 | API v20.0.0 | Remarques |
---|---|---|---|
AdSize | getPortraitBanner |
getPortraitAnchored |
|
getLandscapeBanner |
getLandscapeAnchored |
||
getCurrentOrientation |
getCurrentOrientationAnchored |
||
MobileAds | initialise(Contexte, Chaîne) | MobileAds.Initialize(Context, OnInitializationComplete |
L'ID de l'application est maintenant défini dans le fichier AndroidManifest.xml. |
initialise(Context, String, MobileAds.Settings) | reset(Context, OnInitializationComplete |
La classe "Settings" a été abandonnée. | |
getRewardedVideo |
Supprimée | Utilisez plutôt l'API RécompenseAd. | |
AdListener | onAdFailedToLoad(int) | onAd |
|
onAdLeftApplication() | Supprimée | Les formats d'annonces plein écran utilisent FullscreenContentCallback à la place de AdListener. Il n'existe aucune méthode équivalente sur FullscreenContentCallback. La a été supprimée d'AdListener. | |
VideoController | getAspectRatio() | MediaContent.getAspectRatio() | |
AdRequest | getGender() | Supprimée | |
getBirthday() | Supprimée | ||
getNetworkExtras() | Supprimée | ||
setManualImpressions |
Supprimée | ||
updateCorrelator() | Supprimée | Voir Filtrage du contenu des annonces : | |
AdRequest.Builder | setBirthday() | Supprimée | |
setGender() | Supprimée | ||
setIsDesignedForFamilies() | Supprimée | Consultez le guide. | |
addTestDevice() | RequestConfiguration |
Pour en savoir plus, consultez l'article Activer les annonces tests. | |
tagForChildDirectedTreatment() | RequestConfiguration |
Voir Filtrage du contenu des annonces : | |
setTagFor |
RequestConfiguration |
||
setMaxAdContentRating() | RequestConfiguration |
||
AdView | getMediationAdapter |
ResponseInfo |
Un objet ResponseInfo est désormais disponible via la méthode AdView getResponseInfo(). |
NativeAdOptions | setImageOrientation() | setMediaAspectRatio() | |
getImageOrientation | getMediaAspectRatio() | ||
RewardedAd | loadAd(AdRequest, RécompenseAdLoadCallback) | RécompenseAd.load(Contexte, Chaîne, AdRequest, RécompenseAdLoadCallback) | Les annonces avec récompense utilisent désormais la même approche de chargement statique que les autres les formats plein écran. |
loadAd(PublisherAdRequest, RécompenseAdLoadCallback) | RécompenseAd.load(Contexte, Chaîne, AdManagerAdRequest, RécompenseAdLoadCallback) | ||
isLoaded() | Supprimée | Le rappel de la méthode de chargement statique fournit une annonce déjà chargée. | |
show(Activity, RewardAdCallback) | show(Activity, OnUserGagnezedRewardListener) | Cette méthode d'émission respecte l'approche plus large du format plein écran. | |
RewardedAdLoadCallback | onRewardedAd |
onAd |
|
onRewardedAd |
onAd |
||
onRewardedAdLoaded() | onAdLoaded(RewardedAd) | ||
AppOpenAdLoadCallback | onAppOpenAd |
onAd |
|
onAppOpenAd |
onAd |
||
onAppOpenAd |
onAdLoaded(AppOpenAd) | ||
RewardedInterstitialAdLoad |
onRewardedInterstitialAd |
onAd |
|
onRewardedInterstitialAd |
onAd |
||
onRewardedInterstitialAd |
onAd |
||
InterstitialAd | new InterstitialAd() | InterstitielAd.load(Contexte, Chaîne, AdRequest, InterstitielAdLoadCallback) | InterstitielAd utilise désormais la même approche de chargement statique que d'autres formats plein écran. |
setAdListener() | |||
DynamicHeightSearchAd |
getNetworkExtras() | Supprimée | La classe NetworkExtras a été abandonnée. |
AdLoader | forContentAd() | Supprimée | |
forAppInstallAd() | Supprimée | ||
withCorrelator() | Supprimée | ||
getMediationAdapter |
Supprimée |