Nesta página, você encontra as migrações das versões atuais e anteriores.
Migrar da v22 para a v23
O nível mínimo da API para Android é 21
A partir da versão 23.0.0, o SDK dos anúncios para dispositivos móveis do Google exige que todos os aplicativos sejam
precisa ter no mínimo a Android API de nível 21 para execução. Para ajustar o nível da API, altere o
de minSdkVersion
no arquivo build.gradle
no nível do app para 21 ou mais.
Métodos descontinuados removidos/substituídos
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 | Nenhuma substituição |
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)
|
void MobileAds.setSameAppKeyEnabled() | boolean MobileAds.putPublisherFirstPartyIdEnabled() |
Migrar da v21 para a v22
Usar MobileAds.getVersion() para acessar a versão do SDK dos anúncios para dispositivos móveis do Google
O método MobileAds.getVersionString()
foi removido na versão 22.0.0 e foi substituído
de
MobileAds.getVersion()
.
O novo método retorna o número esperado da versão externa, por exemplo,
22.0.0
: Para mais informações sobre essa mudança, consulte Usar o novo Google Mobile
getVersion() do SDK de anúncios
método.
Métodos removidos ou substituídos
A tabela abaixo lista as alterações específicas na versão 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 | Adaptador |
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 |
Migrar da v20 para a v21
Atualização de minSdkVersion para 19 ou mais recente.
A partir da versão 21.0.0, o SDK dos anúncios para dispositivos móveis do Google exige que todos os aplicativos sejam
em uma API Android de nível 19 no mínimo para execução. Para ajustar o nível da API, altere o
de minSdkVersion
no arquivo de build do app como 19 ou mais recente.
Aplicar nulidade estrita
Como preparação para a aplicação de nulidade estrita, as anotações @NonNull
são
adicionadas a todas as APIs que não definiam explicitamente a nulidade.
Essa mudança pode corromper os apps Kotlin e os que usam a verificação de nulidade do Java
se houver violações de segurança nulas e não lidaram anteriormente com
valores null
de maneira segura. Consulte a documentação do Kotlin sobre
Segurança contra valores nulos
).
Remoção do método addNetworkExtras()
O método addNetworkExtras()
, que transmite parâmetros extras como um
A instância de NetworkExtras
para um adaptador de rede de anúncios específico foi descontinuada no SDK
versão 20.3.0 e será removida na versão 21.0.0. Use o
addNetworkExtrasBundle()
da mesma classe AdRequest.Builder
.
Remoção de métodos de localização
Os seguintes métodos de localização serão removidos na versão 21.0.0:
- O método
setLocation(Location location)
na classeAdRequest.Builder
que define o local do usuário para fins de segmentação de mediação. - O método
getLocation()
na classeAdRequest
que retorna o método informações de segmentação por local transmitidas anteriormente ao métodosetLocation(Location location)
. - O método
getLocation()
na classeMediationAdConfiguration
que retorna a localização do usuário, se definido peloAdRequest
.
Os dados de local não são usados pelo Google para segmentar anúncios. Você deve usar APIs de terceiros para fornecer as informações a redes de publicidade de terceiros se obrigatórios.
Descontinuação de interfaces de eventos personalizados
Os eventos personalizados permitem que os editores usem Mediação da AdMob para configurar uma origem de anúncios em hierarquia que não está um dos itens de AdMob origens de anúncios compatíveis.
Todos os produtos personalizados
evento
são descontinuadas e substituídas pela
Adapter
classe e
MediationAdLoadCallback
interface gráfica do usuário.
A tabela abaixo lista a classe ou interface correspondente que deve ser usada para cada interface de evento personalizado a partir da versão 21.0.0:
Interfaces v20.0.0 | Interface/ classe v21.0.0 |
---|---|
CustomEvent | Adaptador |
CustomEventBanner | |
CustomEventInterstitial | |
CustomEventNative | |
CustomEventBannerListener |
Adaptador,
|
CustomEventInterstitialListener | |
CustomEventListener | |
CustomEventNativeListener |
Migrar da v19 para a v20
Há muitas alterações interruptivas na versão 20.0.0. Lançamento da versão 19.7.0 muitas APIs novas e descontinuou ou renomeou várias classes em preparação para a versão 20.0.0. Este guia destaca as principais mudanças na versão 20.0.0.
Atualizações da API de formato de tela cheia
A partir da versão 20.0.0, anúncios intersticiais, premiados, intersticiais premiados e Os formatos de anúncio de abertura do app são padronizados para seguir um design consistente de API.
Todas as APIs de formato de tela cheia usam os seguintes princípios:
- Um método de carregamento estático
- Um mecanismo de gerenciador ou callback de carga semelhante
- Uso do
FullScreenContentCallback
classe para callbacks de apresentações
Remoção da API LegacyVideoAd legada
As mais novas
RewardedAd
A API foi lançada em março de 2019 e tem sido o prêmio preferencial
há mais de 18 meses. Ele teve mais melhorias em comparação com a versão legada
API RewardedVideoAd
, incluindo a capacidade de carregar mais de um anúncio premiado
por vez.
A API RewardedVideoAd
legada foi removida na versão 20.0.0 do SDK.
Suspensão de uso do banner inteligente em favor do banner adaptativo
Os anúncios de banner inteligente foram descontinuados em favor do banner adaptativo anúncios. Banners adaptativos oferecem desempenho superior e mais flexibilidade em definindo a largura do anúncio. Se você preferir continuar usando banners de largura total, isso pode ainda é possível usar o banner adaptativo, conforme mostrado no snippet de código a seguir:
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) } }
Sair da remoção do callback do aplicativo
O callback onAdLeftApplication
para todos os formatos de anúncio foi removido.
de
ProcessLifecycleOwner
.
Com uma API no nível do SO, você recebe uma notificação sempre que os usuários saem do app, seja qual for
seja devido ou não a uma interação com o anúncio.
O callback onAdLeftApplication
não foi criado para ser um anúncio
de cliques, e depender desse retorno de chamada para relatar os cliques não produziu uma
uma métrica precisa. Por exemplo, um clique no ícone "Opções de anúncios" que abriu uma
navegador externo invocou a chamada de retorno, mas não foi contabilizada como um clique.
Renomeações de classes
A tabela abaixo lista nomes de classes específicos que foram alterados ou removidos. Resumindo:
- A maioria das classes relacionadas a
UnifiedNativeAd
foi renomeada paraNativeAd
. - As solicitações
MobileAds.Settings
,NativeExpressAdView
,NativeAppInstallAd
As classes e visualizaçõesNativeContentAd
eInstreamAd
foram removidas. - Todas as classes com o prefixo
Publisher
foram substituídas por umaAdManager
. - O nome do pacote
InterstitialAd
mudou.
19.5.0 Aula | Classe 20.0.0 |
---|---|
com.google.android.gms.ads. | com.google.android.gms.ads. |
reward.RewardedVideoAd | rewarded.RewardedAd |
reward.RewardedVideoAdListener | prêmio.PremiadoAdLoadCallback e 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 | Removido |
doubleclick.PublisherAdRequest | admanager.AdManagerAdRequest |
doubleclick.PublisherAdView | admanager.AdManagerAdView |
formats.PublisherAdViewOptions | formats.AdManagerAdViewOptions |
doubleclick.PublisherInterstitialAd | admanager.AdManagerInterstitialAd |
InterstitialAd | interstitial.InterstitialAd |
NativeExpressAdView | Removido |
instream.InstreamAd | Removido |
mediation.admob.AdMobExtras | Removido |
Correlator | Removido |
search.SearchAdRequest | Removido |
Interface AdRequest.TagForUnderAgeOfConsent | Removido |
Interface AdRequest.MaxAdContentRating | Removido |
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étodos removidos/substituídos
A tabela abaixo lista as alterações específicas na versão 20.0.0. Resumindo:
- Os métodos de inicialização desatualizados foram removidos da classe MobileAds.
- Alguns métodos da classe
AdRequest.Builder()
foram removidos ou movidos para a classeRequestConfiguration
. - As APIs Premiada e IntersticialAd foram atualizadas para se alinharem a todas as formatos de tela cheia.
- Os recursos de correlação foram removidos.
Turma | API v19.5.0 | API v20.0.0 | Observações |
---|---|---|---|
AdSize | getPortraitBanner |
getPortraitAnchored |
|
getLandscapeBanner |
getLandscapeAnchored |
||
getCurrentOrientation |
getCurrentOrientationAnchored |
||
MobileAds | inicializar(contexto, string) | MobileAds.Initialize(Context, OnInitializationComplete |
O ID do app agora está definido no AndroidManifest.xml. |
inicializar(Context, String, MobileAds.Settings) | inicialize(Context, OnInitializationComplete |
O uso da classe Settings foi descontinuado. | |
getRewardedVideo |
Removido | Em vez disso, use a API awardsAd. | |
AdListener | onAdFailedToLoad(int) | onAd |
|
onAdLeftApplication() | Removido | Formatos de anúncios em tela cheia usam FullscreenContentCallback no lugar de AdListener, e não há um método equivalente em FullscreenContentCallback. A foi removido do AdListener. | |
VideoController | getAspectRatio() | MediaContent.getAspectRatio() | |
AdRequest | getGender() | Removido | |
getBirthday() | Removido | ||
getNetworkExtras() | Removido | ||
setManualImpressions |
Removido | ||
updateCorrelator() | Removido | Consulte Filtragem de conteúdo do anúncio. | |
AdRequest.Builder | setBirthday() | Removido | |
setGender() | Removido | ||
setIsDesignedForFamilies() | Removido | Consulte o guia. | |
addTestDevice() | RequestConfiguration |
Consulte Como ativar anúncios de teste. | |
tagForChildDirectedTreatment() | RequestConfiguration |
Consulte Filtragem de conteúdo do anúncio. | |
setTagFor |
RequestConfiguration |
||
setMaxAdContentRating() | RequestConfiguration |
||
AdView | getMediationAdapter |
ResponseInfo |
Um objeto ResponseInfo agora está disponível por meio do método WorkManager getResponseInfo(). |
NativeAdOptions | setImageOrientation() | setMediaAspectRatio() | |
getImageOrientation | getMediaAspectRatio() | ||
RewardedAd | loadAd(AdRequest, PremieAdLoadCallback) | PremiadoAd.load(Context, String, AdRequest, stream AdLoadCallback) | O anúncio premiado agora usa a mesma abordagem de carregamento estático que outros formatos de tela cheia. |
loadAd(PublisherAdRequest, TOAdLoadCallback) | PremiadoAd.load(Context, String, AdManagerAdRequest, credenciado AdLoadCallback) | ||
isLoaded() | Removido | O callback do método de carregamento estático fornece um anúncio que já está carregado. | |
show(Activity, credenciadaAdCallback) | show(Atividade, OnUserGained RewardsListener) | Esse método de exibição adere à abordagem mais ampla do formato de tela cheia. | |
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() | IntersticialAd.load(Context, String, AdRequest, IntersticialAdLoadCallback) | IntersticialAd agora usa a mesma abordagem de carregamento estático que em outros formatos de tela cheia. |
setAdListener() | |||
DynamicHeightSearchAd |
getNetworkExtras() | Removido | A classe NetworkExtras foi descontinuada. |
AdLoader | forContentAd() | Removido | |
forAppInstallAd() | Removido | ||
withCorrelator() | Removido | ||
getMediationAdapter |
Removido |