Com algumas mudanças no código, é possível combinar anúncios nativos e de banner nas solicitações de anúncios.
Pré-requisitos
- Versão 7.20.0 ou mais recente de Google Mobile Ads SDK.
- Configurar Google Mobile Ads SDK.
Carregar um anúncio
Os anúncios nativos renderizados de forma personalizada são carregados por
GADAdLoader
objetos. O objeto GADAdLoader também pode ser configurado para fazer solicitações de anúncios que podem resultar em um banner ou 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 preencher a 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 delegado 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 anúncios 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 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 com sucesso e está sendo exibido na tela para disparar uma impressão manualmente:
Swift
bannerView.recordImpression()
Objective-C
[self.bannerView recordImpression];