Integrar o SDK dos anúncios para dispositivos móveis do Google a um app é o primeiro passo para exibir anúncios e gerar receita. Depois de integrar o SDK, você pode implementar um ou mais dos formatos de anúncio compatíveis.
Pré-requisitos
- Use o Xcode 16.0 ou versões mais recentes
- Direcione o app ao iOS 12.0 ou a versões mais recentes.
Importar o SDK de anúncios para dispositivos móveis
Use um dos métodos a seguir para importar o SDK dos anúncios para dispositivos móveis do Google.
Gerenciador de pacotes do Swift
Para adicionar uma dependência de pacote ao seu projeto, siga estas etapas:
No Xcode, instale o pacote Swift dos anúncios para dispositivos móveis do Google acessando Arquivo > Adicionar dependências do pacote….
No prompt exibido, pesquise o repositório do GitHub do pacote Swift dos anúncios para dispositivos móveis do Google:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
Selecione a versão do pacote Swift dos anúncios para dispositivos móveis do Google que você quer usar. Para novos projetos, recomendamos usar a opção Até a próxima versão principal.
CocoaPods
Antes de continuar, consulte Como usar o CocoaPods para informações sobre como criar e usar Podfiles.
Para usar o CocoaPods, siga estas etapas:
Abra o Podfile do projeto e adicione esta linha à configuração de build
target
do app:pod 'Google-Mobile-Ads-SDK'
Em um terminal, execute:
pod install --repo-update
Download manual
Faça o download do SDK dos anúncios para dispositivos móveis do Google e
Embed & Sign
os seguintes frameworks no seu projeto do Xcode:GoogleMobileAds.xcframework
UserMessagingPlatform.xcframework
Nas configurações de build do seu projeto:
- Adicione o caminho
/usr/lib/swift
a Caminhos de pesquisa de Runpath. - Adicione a flag do vinculador
-ObjC
a Outras flags do vinculador.
- Adicione o caminho
Atualize o arquivo Info.plist
Atualize o arquivo Info.plist
do app para adicionar duas chaves:
Uma chave
GADApplicationIdentifier
com um valor de string do ID do app do Ad Manager encontrado na interface do Ad Manager e do formulárioca-app-pub-################~##########
.Uma chave
SKAdNetworkItems
com valoresSKAdNetworkIdentifier
para o Google (cstr6suwn9.skadnetwork
) e compradores terceirizados selecionados que forneceram esses valores ao Google.
Snippet completo
<key>GADApplicationIdentif<ier/ke<y> !-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~1458002>5<11 -- string>SAMP<LE_APP_ID</string> key>S<KAdNet<workItems</key> a<rray> dict> k<ey>SKAd<NetworkIdentifier/key> < string><cstr6suwn<9.skadnetw<ork/string> /dict><; dict&g<t; key>SKAdNetworkIden<tifier/key&<gt; s<tring>4<fzdc2evr5.skadnetwork/str<ing> </dict> dict> key&<gt;SKAdNetw<orkIdenti<fier/key&g<t; string>2fnua5td<w4.skadnet<work/string> /dict> < dict> < key><;SKAdNetwo<rkIdentifier/key> <string><ydx93a7ass.skadnetwork/string<> /dic<t> d<ict> < key>SKAdNetworkIdent<ifier/key&<gt; string>p78axxw29g.<skadnetwork</string&g<t; /dict<> dict> key&g<t;SKAdNetw<orkIdentifier/key> str<ing>v72q<ych5uu.sk<adnetwork/<string> /dict> <dict> < key>SKAdNetworkIdentifi<er/key> < strin<g>ludvb<6z3bs.skadnetwork/string&<gt; /dic<t> dict> key>S<KAdNetworkI<dentifier</key> < string>cp8zw746q7.s<kadnetwork</string> /dict> dic<t> k<ey>SKA<dNetworkId<entifier/key> stri<ng>3sh4<2y64q3.skadnetwork/string>< /dict><; dict&<gt; ke<y>SKAdNetworkIdentifie<r/key> < string>c6k4g5qg8m.skad<network/str<ing> < /dict>< dict> key>SK<AdNetworkI<dentifier/key> string&<gt;s39g8k73<mm.skadne<twork/stri<ng> /dict> dict<> k<ey>SKAdNetworkIdentifier/k<ey> <string><;3qy474624<6.skadnetwork/string> < /dict><; dict> key>SKAdN<etworkIdent<ifier/key<> s<tring>f38h382jlk.skadn<etwork/str<ing> /dict> dict><; key&g<t;SKAdNet<workIdenti<fier/key> string&g<t;hs6bduka<nm.skadnetwork/string> /<dict> <dict> < key><;SKAdNetworkIdentifier/ke<y> <string>mlmmfzh3r3.skadnetw<ork/string&<gt; /di<ct> d<ict> key>SKAdNe<tworkIdent<ifier/key> string>v<4nxqhlyqp.s<kadnetwor<k/string&g<t; /dict> dict>< key&g<t;SKAdNetworkIdentifier/key&g<t; stri<ng>wzm<mz9fp6w.sk<adnetwork/string> /d<ict> <dict> key>SKAdNetwo<rkIdentifie<r/key>< strin<g>su67r6k2v3.skadnetwo<rk/string&<gt; /dict> dict> < key>SK<AdNetwork<Identifier</key> string>yc<lnxrl5pm.s<kadnetwork/string> /dict<> dict<> <key>SKA<dNetworkIdentifier/key><; stri<ng>t38b2kh725.skadnetwork/<string> < /dict&g<t; dict&<gt; key>SKAdNetwor<kIdentifie<r/key> string>7ug5z<h24hu.skadn<etwork/st<ring> < /dict> dict> < key>SK<AdNetworkIdentifier/key> < string&g<t;gta9lk7<p23.skadne<twork/string> /dict&<gt; dict<> key>SKAdNetworkId<entifier/ke<y> < string><;vutu7akeur.skadnetwork/s<tring> < /dict> dict> ke<y>SKAdNe<tworkIden<tifier/key<> string>y5ghdn<5j9k.skadn<etwork/string> /dict>< dict>< key&<gt;SKAdNet<workIdentifier/key> < string&g<t;v9wttpbfk9.skadnetwork/stri<ng> /d<ict> < dict> < key>SKAdNetworkIde<ntifier/ke<y> string>n38lu8286<q.skadnetwo<rk/string<> /di<ct> dict> key<>SKAdNe<tworkIdentifier/key> s<tring>47<vhws6wlr.<skadnetwor<k/string> /dict> < dict>< key>SKAdNetworkIdenti<fier/key><; str<ing>kbd<757ywx3.skadnetwork/strin<g> /d<ict> dict> key><;SKAdNetwor<kIdentifi<er/key>< string>9t245vhmpl<.skadnetwo<rk/string> /dict> d<ict> < key>S<KAdNetwork<Identifier/key> st<ring>a2<p9lx4jpn.skadnetwork/string&g<t; /dict&<gt; dic<t> <key>SKAdNetworkIdentif<ier/key><; string>22mmun2rn5.sk<adnetwork/s<tring>< /dict&g<t; dict> key><SKAdNetwor<kIdentifier/key> strin<g>44jx67<55aq.skad<network/st<ring> /dict> di<ct> < key>SKAdNetworkIdentifier</key> < string&<gt;k674qke<vps.skadnetwork/string><; /dict&<gt; dict> key>SKA<dNetworkIde<ntifier/k<ey> < string>4468km3ulz.ska<dnetwork/s<tring> /dict> dict&<gt; key<>SKAdN<etworkIden<tifier/key> string<>2u9pt9<hc89.skadnetwork/string> < /dict> < dict><; key&<gt;SKAdNetworkIdentifier/<key> < string>8s468mfl3y.skadne<twork/strin<g> /<dict> < dict> key>SKAd<NetworkIde<ntifier/key> string><;klf5c3l5u5<.skadnetw<ork/string<> /dict> dict&g<t; key<>SKAdNetworkIdentifier/key<> st<ring>p<pxm28t8ap.<skadnetwork/string> </dict> < dict> key>SKAdNet<workIdentif<ier/key&g<t; str<ing>kbmxgpxpgc.skadnet<work/strin<g> /dict> dict> < key><SKAdNetwo<rkIdentifi<er/key> string><uw77j35x4d<.skadnetwork/string> /di<ct> di<ct> < key>S<KAdNetworkIdentifier/key&<gt; st<ring>578prtvx9j.skadnetwor<k/string><; /di<ct> dict> key>SKAdNetworkIdentifier/key> string>4dzt52r2t5.skadnetwork/string> /dict> dict> key>SKAdNetworkIdentifier/key> string>tl55sbb4fm.skadnetwork/string> /dict> dict> key>SKAdNetworkIdentifier/key> string>c3frkrj4fj.skadnetwork/string> /dict> dict> key>SKAdNetworkIdentifier/key> string>e5fvkxwrpn.skadnetwork/string> /dict> dict> key>SKAdNetworkIdentifier/key> string>8c4e2ghe7u.skadnetwork/string> /dict> dict> key>SKAdNetworkIdentifier/key> string>3rd42ekr43.skadnetwork/string> /dict> dict> key>SKAdNetworkIdentifier/key> string>97r2b46745.skadnetwork/string> /dict> dict> key>SKAdNetworkIdentifier/key> string>3qcr597p9d.skadnetwork/string> /dict> /array>
Substitua SAMPLE_APP_ID pelo ID do app do Ad Manager. Durante o teste, use o ID do app de exemplo mostrado no exemplo anterior.
Para um desempenho ideal da inicialização, é importante associar seus grupos de rendimento aos apps específicos em que eles são usados. As configurações de grupo de receita segmentadas para iOS e não associadas a um app específico serão enviadas a todos os apps iOS na sua conta, o que pode aumentar o tempo necessário para inicialização.
Inicializar o SDK de anúncios para dispositivos móveis
Antes de carregar anúncios, chame o método start()
em
GADMobileAds.sharedInstance
,
que inicializa o SDK e chama um gerenciador de conclusão quando a inicialização for concluída ou após um tempo limite de 30 segundos. Chame start()
o quanto antes.
Swift
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
SwiftUI
// Initialize the Google Mobile Ads SDK.
MobileAds.shared.start()
Objective-C
// Initialize the Google Mobile Ads SDK.
[GADMobileAds.sharedInstance startWithCompletionHandler:nil];
Selecione um formato de anúncio
O SDK de anúncios para dispositivos móveis foi importado e inicializado. Agora você pode implementar um anúncio. O Ad Manager oferece vários formatos de anúncio diferentes para que você possa escolher o que melhor se adapta à experiência do usuário no seu app.
Banner
Os blocos de anúncios de banner mostram anúncios retangulares que ocupam parte do layout de um app. Eles podem ser atualizados automaticamente após um tempo definido. Isso significa que os usuários veem um novo anúncio em intervalos regulares, mesmo que permaneçam na mesma tela do app. Esse é o formato mais simples de implementar.
Implementar anúncios de banner
Intersticial
Os blocos de anúncios intersticiais mostram anúncios de tela cheia no seu app. Posicione-os em intervalos e transições naturais da interface, por exemplo, após a conclusão de uma fase em um app de jogo.
Implementar anúncios intersticiais
Nativo
Os anúncios nativos permitem personalizar a forma como os recursos, como títulos e calls-to-action, são apresentados nos seus apps. Ao estilizar o anúncio por conta própria, você cria apresentações naturais e discretas que contribuem para uma experiência mais imersiva para o usuário.
O Google Ad Manager oferece duas maneiras de implementar anúncios nativos: estilos nativos e anúncios nativos padrão com renderização personalizada.
Os estilos nativos foram criados para simplificar a implementação de anúncios nativos e são uma ótima opção se você não conhece o formato. A renderização personalizada foi projetada para maximizar a liberdade que você tem ao criar suas apresentações.
Implementar estilos nativos Implementar anúncios nativos (renderização personalizada)
Premiado
Com os blocos de anúncios premiados, os usuários conseguem jogar, responder a pesquisas ou assistir a vídeos para ganhar recompensas no app, como moedas, vidas extras ou pontos. É possível definir prêmios diferentes para cada bloco de anúncios e especificar os valores e itens que o usuário recebeu.
Implementar anúncios premiados
Intersticial premiado
O intersticial premiado é um novo tipo de formato de anúncio com incentivos que permite oferecer recompensas, como moedas ou vidas extras, em anúncios que são exibidos automaticamente em pontos de transição natural no app.
Diferente dos anúncios premiados, os usuários não precisam ativar a visualização de um intersticial premiado.
Em vez de exibir uma tela de ativação como nos anúncios premiados, os intersticiais premiados têm uma tela de introdução que mostra a recompensa e permite aos usuários recusar a oferta.
Implementar anúncios intersticiais premiados
Abertura do app
A abertura do app é um formato de anúncio que aparece quando os usuários abrem ou voltam para seu aplicativo. O anúncio se sobrepõe à tela de carregamento.
Implementar anúncios de abertura do app