Nativo
Os anúncios nativos são um tipo de anúncio que pode ser exibido com o mesmo estilo visual do restante do app, o que permite uma integração natural e não intrusiva com a interface do usuário.
Diferentemente dos outros formatos, o app fornece o layout e o SDK o preenche com os assets do anúncio, independentemente de qual fonte de demanda o tenha preenchido.
View do anúncio
Seção intitulada “View do anúncio”O primeiro passo é criar a view que será usada para exibir os anúncios. Ela precisa ser uma WANativeAdView, ou uma subclasse dela, em que cada asset que o app deseja exibir é conectado ao outlet correspondente.
A forma mais fácil é criar um arquivo XIB, definir WANativeAdView como a classe da sua view raiz e conectar os outlets a partir do Interface Builder:
| Outlet | Tipo | Descrição |
|---|---|---|
advertiserLabel | UILabel | Nome do anunciante |
bodyLabel | UILabel | Descrição do anúncio |
callToActionButton | UIButton | Botão que convida o usuário a interagir |
headlineLabel | UILabel | Título do anúncio |
iconImageView | UIImageView | Ícone do anúncio |
mediaContainer | UIView | Container para o conteúdo de mídia (imagem ou vídeo) |
optionsContainer | UIView | Container para a view de opções do anúncio |
priceLabel | UILabel | Preço do produto promovido |
ratingContainer | UIView | Container para a avaliação do produto promovido |
storeLabel | UILabel | Loja do produto promovido |
Todos os outlets são opcionais, então você só precisa conectar os assets que o seu design exibe.
Integração
Seção intitulada “Integração”Para solicitar um anúncio nativo, você precisa fazer uma integração por código como mostra o exemplo abaixo:
import UIKitimport WortiseSDK
class ViewController: UIViewController {
private var nativeAd: WANativeAd?
private var nativeAdLoader: WANativeAdLoader?
private var nativeAdView: WANativeAdView?
override func viewDidLoad() { super.viewDidLoad() ... let loader = WANativeAdLoader( adUnitId: "Ad Unit ID da Wortise", delegate: self )
loader.rootViewController = self
nativeAdLoader = loader
loader.loadAd() }
deinit { nativeAd?.destroy() nativeAdLoader?.destroy() }}
extension ViewController: WANativeDelegate {
func didLoad(nativeAd: WANativeAd) { // Invocado quando o anúncio foi carregado self.nativeAd?.destroy() self.nativeAd = nativeAd
// Instancia a view do anúncio e a adiciona à interface let adView = Bundle.main.loadNibNamed( "NativeAdView", owner: nil )?.first as! WANativeAdView
view.addSubview(adView)
nativeAdView = adView
nativeAdLoader?.render(ad: nativeAd, into: adView) }
func didClick(nativeAd: WANativeAd) { // Invocado quando o anúncio foi clicado }
func didFailToLoad(nativeAd error: WAAdError) { // Invocado quando não foi possível carregar o anúncio // (por causa de um erro ou sem preenchimento (no fill)) }
func didImpress(nativeAd: WANativeAd) { // Invocado quando o anúncio gerou uma impressão }
func didPayRevenue(nativeAd: WANativeAd, data: WARevenueData) { // Invocado quando o anúncio gerou receita }}O método render(ad:into:) preenche os outlets da view com os assets do anúncio e os registra para rastrear os cliques e as impressões. Ele retorna false quando não foi possível renderizar o anúncio.
Assets do anúncio
Seção intitulada “Assets do anúncio”A classe WANativeAd expõe os assets do anúncio, que podem ser usados para personalizar a view antes de renderizá-la:
| Propriedade | Tipo | Descrição |
|---|---|---|
advertiser | String? | Nome do anunciante |
body | String? | Descrição do anúncio |
callToAction | String? | Texto da chamada para ação |
headline | String? | Título do anúncio |
icon | Image? | Ícone do anúncio |
images | [Image] | Imagens do anúncio |
mediaContent | MediaContent? | Conteúdo de mídia do anúncio (imagem ou vídeo) |
price | String? | Preço do produto promovido |
rating | Double? | Avaliação do produto promovido |
store | String? | Loja do produto promovido |
Parâmetros da solicitação
Seção intitulada “Parâmetros da solicitação”O método loadAd também aceita uma instância de WARequestParameters, da mesma forma que os demais formatos:
nativeAdLoader?.loadAd(parameters: WARequestParameters(agent: "seu agent"))Migração de WAGoogleNativeAd
Seção intitulada “Migração de WAGoogleNativeAd”Se o seu app já integrou a classe obsoleta WAGoogleNativeAd, estas são as equivalências com a nova integração:
| Obsoleto | Substituição |
|---|---|
WAGoogleNativeAd(adUnitId:delegate:) | WANativeAdLoader(adUnitId:delegate:) |
WAGoogleNativeDelegate | WANativeDelegate |
load() | loadAd() (ou loadAd(parameters:)) |
didLoad(nativeAd:googleNativeAd:) | didLoad(nativeAd:) — um WANativeAd, sem tipo do Google |
didFailToLoad(nativeAd:error:) | didFailToLoad(nativeAd:) |
didRecord(impression:) | didImpress(nativeAd:) |
options ([GADAdLoaderOptions]) | removido — o SDK configura a solicitação |
Sua própria GADNativeAdView e conexão de assets | Outlets de WANativeAdView + render(ad:into:) |
Na prática, as mudanças são:
- Remova os tipos do Google. Não há mais um
NativeAddo Google nos callbacks, então o app não precisa mais importarGoogleMobileAdspara anúncios nativos. - Substitua a classe da view. A view raiz do layout passa a ser uma
WANativeAdView, conectando os outlets da seção View do anúncio em vez das asset views do Google. - Renderize através do loader. Onde o app configurava uma
GADNativeAdViewno callback de carregamento, agora ele chamarender(ad:into:). - Media view. Remova a
GADMediaViewdo layout e conecte umaUIViewsimples comomediaContainer; o SDK insere a media view correta para a rede que preencheu o anúncio.
func didLoad(nativeAd: WAGoogleNativeAd, googleNativeAd: NativeAd) { let adView = // sua GADNativeAdView
adView.headlineView = headlineLabel adView.callToActionView = callToActionButton adView.mediaView = mediaView // ... uma linha por asset ...
adView.nativeAd = googleNativeAd}func didLoad(nativeAd: WANativeAd) { nativeAdLoader?.render(ad: nativeAd, into: adView)}Integração legada
Seção intitulada “Integração legada”Os apps que ainda usam WAGoogleNativeAd recebem a instância NativeAd do Google no callback didLoad(nativeAd:googleNativeAd:), e são responsáveis por construir a GADNativeAdView e registrar cada asset, conforme descrito na documentação do Google.
© 2026 Wortise. Todos os direitos reservados.