Pular para o conteúdo

Banner

Os anúncios banner são anúncios retangulares de imagem ou texto que ocupam um espaço dentro do layout do aplicativo. Eles permanecem na tela enquanto os usuários interagem com o app e podem ser atualizados automaticamente após um determinado período de tempo. Se você é novo em publicidade mobile, eles são uma excelente escolha para começar.

Os banners são integrados adicionando o widget BannerAd ao layout do app. Abaixo, você encontra um exemplo simples de integração:

import 'package:wortise/wortise.dart';
/* ... */
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Wortise Flutter Example'),
),
body: ListView(
padding: EdgeInsets.all(20),
children: [
/* O banner deve estar dentro de um container */
Container(
height: 50,
child: BannerAd(
adSize: AdSize.HEIGHT_50,
adUnitId: 'Ad Unit ID da Wortise',
),
)
]
),
),
);
}

O widget tem suporte aos seguintes parâmetros:

ParâmetroTipoObrigatórioDescrição
adUnitIdStringSimO ID da ad unit a ser atribuído ao banner
adSizeAdSizeNãoTamanho máximo (altura) do banner. Os valores possíveis para este parâmetro estão declarados na classe AdSize
autoRefreshTimeIntegerNãoValor em segundos que representa o tempo que deve transcorrer para carregar um novo anúncio banner
keepAliveBooleanNãoIndica se a instância do banner deve ser mantida “viva” a todo momento
listenerFunctionNãoListener para receber os eventos do banner (BannerAdEvent)
requestParametersRequestParametersNãoParâmetros extras para a solicitação do anúncio, como a posição do banner colapsável

Os banners adaptativos são um novo formato de banner em que o tamanho dos anúncios se adapta ao dispositivo e à interface do app, com o objetivo de maximizar o desempenho.

Atualmente há suporte para dois tipos de banners adaptativos:

Este tipo de banner foi projetado para substituir os banners tradicionais de 320x50 e ser posicionado na parte superior ou inferior da tela.

Para usar este formato, um AdSize gerado da seguinte forma deve ser passado ao widget BannerAd:

// Você precisa especificar a largura do banner
AdSize.getAnchoredAdaptiveBannerAdSize(width);

Este outro tipo de banner, em comparação com o ancorado, foi projetado para ter uma altura variável e ser posicionado dentro de um conteúdo com rolagem.

Neste caso, um AdSize deve ser gerado desta forma:

// Você precisa especificar a largura do banner. A altura máxima é um
// parâmetro opcional (passando 0 ou um valor negativo)
AdSize.getInlineAdaptiveBannerAdSize(width, maxHeight);

Os banners colapsáveis são banners ancorados que inicialmente são exibidos como uma sobreposição maior, com um botão que os recolhe ao tamanho declarado. Eles têm como objetivo melhorar o desempenho dos banners ancorados sem ocupar mais espaço de forma permanente.

Para solicitar um, passe ao widget uma instância de RequestParameters com a posição desejada:

BannerAd(
adSize: adSize,
adUnitId: 'Ad Unit ID da Wortise',
requestParameters: RequestParameters(
collapsible: CollapsiblePosition.bottom,
),
)

A posição determina onde o anúncio expandido é ancorado e deve corresponder à posição do banner dentro do layout do app:

ValorDescrição
CollapsiblePosition.bottomO banner está posicionado na parte inferior da tela
CollapsiblePosition.topO banner está posicionado na parte superior da tela

Um listener pode ser definido em qualquer instância de BannerAd para receber os eventos que ocorrem durante seu ciclo de vida. Para isso, você precisa atribuir uma função ao parâmetro listener do widget, como mostrado abaixo:

BannerAd(
adSize: AdSize.HEIGHT_50,
adUnitId: 'Ad Unit ID da Wortise',
listener: (event, args) {
switch (event) {
case BannerAdEvent.CLICKED: {
// O anúncio foi clicado
}
break;
case BannerAdEvent.FAILED_TO_LOAD: {
// Não foi possível carregar o anúncio
}
break;
case BannerAdEvent.IMPRESSION: {
// O anúncio gerou uma impressão
}
break;
case BannerAdEvent.LOADED: {
// O anúncio foi carregado
}
break;
case BannerAdEvent.REVENUE_PAID: {
// O anúncio gerou receita
}
break;
}
},
)