Com algumas mudanças no código, é possível combinar anúncios nativos e de banner nas suas solicitações de anúncios.
Pré-requisitos
- SDK dos anúncios para dispositivos móveis do Google versão 7.20.0 ou mais recente
- Concluir o guia Primeiros passos
Carregamento de um anúncio
Os anúncios nativos renderizados de forma personalizada são carregados por
objetos
GADAdLoader
. O objeto GADAdLoader
também pode ser configurado para fazer solicitações de anúncios
que podem resultar em um anúncio de banner ou nativo. Adicionar
GADAdLoaderAdTypeGAMBanner
ao parâmetro de matriz adTypes
, junto com
tipos de anúncios nativos, como GADAdLoaderAdTypeNative
, ao criar o
objeto GADAdLoader
especifica que os anúncios de banner precisam competir com os anúncios nativos
para atender à solicitação.
Swift
adLoader = GADAdLoader(adUnitID: "/21775744923/example/native-and-banner", rootViewController: self, adTypes: [.native, .gamBanner], options: [... ad loader options objects ...]) adLoader.delegate = self
Objective-C
self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native-and-banner" rootViewController:rootViewController adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ] options:@[ ... ad loader options objects ... ]]; self.adLoader.delegate = self;
GAMBannerAdLoaderDelegate
Ao solicitar anúncios de banner pelo GADAdLoader
, o representante do carregador de anúncios precisa
estar em conformidade com o protocolo GAMBannerAdLoaderDelegate
. Esse protocolo inclui uma
mensagem que é enviada quando um anúncio de banner é carregado:
Swift
public func adLoader(_ adLoader: GADAdLoader, didReceive GAMBannerView: GAMBannerView)
Objective-C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView;
O delegado do carregador de anúncios também precisa especificar quais tamanhos de anúncios em banner precisam ser
solicitados, respondendo à mensagem validBannerSizesForAdLoader
, conforme mostrado
abaixo.
Swift
public func validBannerSizes(for adLoader: GADAdLoader) -> [NSValue] { return [NSValueFromGADAdSize(GADAdSizeBanner), NSValueFromGADAdSize(GADAdSizeMediumRectangle), NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSize(width: 120, height: 20)))] }
Objective-C
- (NSArray*)validBannerSizesForAdLoader:(GADAdLoader *)adLoader { return @[ @(GADAdSizeBanner), @(GADAdSizeMediumRectangle), @(GADAdSizeFromCGSize(CGSizeMake(120, 20))) ]; }
Contagem manual de impressões
Para ativar a contagem manual de
impressões
em anúncios de banner carregados pelo GADAdLoader
, defina um
GAMBannerViewOptions
com enableManualImpressions
definido como YES
ao inicializar o GADAdLoader
.
Swift
let bannerViewOptions = GAMBannerViewOptions() bannerViewOptions.enableManualImpressions = true adLoader = GADAdLoader( adUnitID: "/21775744923/example/native-and-banner", rootViewController: self, adTypes: [.native, .gamBanner], options: [bannerViewOptions])
Objective-C
GAMBannerViewOptions *bannerViewOptions = [[GAMBannerViewOptions alloc] init]; bannerViewOptions.enableManualImpressions = YES; self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"/21775744923/example/native-and-banner" rootViewController:self adTypes:@[ GADAdLoaderAdTypeNative, GADAdLoaderAdTypeGAMBanner ] options:@[ bannerViewOptions ]];
Se um anúncio de banner for carregado, você poderá chamar recordManualImpression
quando
determinar que um anúncio foi retornado e está na tela para
disparar manualmente uma impressão:
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];