Com algumas mudanças no código, é possível combinar anúncios nativos e de banner nas solicitações de anúncio.
Pré-requisitos
- Versão 7.20.0 ou mais recente do SDK dos anúncios para dispositivos móveis do Google
- Leia o guia para iniciantes.
Carregando 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 banner ou um anúncio 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 devem 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;
GADAdLoader não serão atualizados.
GAMBannerAdLoaderDelegate
Ao solicitar anúncios de banner usando a GADAdLoader, o delegate do carregador de anúncios precisa
estar em conformidade com o protocolo GAMBannerAdLoaderDelegate. Esse protocolo inclui uma
mensagem 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 banner devem 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, chame recordManualImpression quando
determinar que um anúncio foi retornado com sucesso e está na tela para
disparar uma impressão manualmente:
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];