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 continuar a implementar um ou mais dos formatos de anúncio compatíveis.
Pré-requisitos
- Use o Xcode 13.2.1 ou uma versão mais recente
- Segmentar iOS 10.0 ou posterior
Importar o SDK dos anúncios para dispositivos móveis
CocoaPods (preferencial)
A maneira mais simples de importar o SDK para um projeto do iOS é usando o CocoaPods. Abra o Podfile do projeto e adicione esta linha ao destino do app:
pod 'Google-Mobile-Ads-SDK'
Na linha de comando, execute:
pod install --repo-update
Se você é iniciante no CocoaPods, consulte a documentação oficial (em inglês) para informações sobre como criar e usar Podfiles.
Gerenciador de pacotes do Swift
O SDK dos anúncios para dispositivos móveis do Google é compatível com o Swift Package Manager a partir da versão 9.0.0. Siga as etapas abaixo para importar o pacote do Swift.
No Xcode, instale o pacote Swift de anúncios para dispositivos móveis do Google em File > Add Packages....
Na janela exibida, procure o repositório do GitHub para anúncios móveis para dispositivos móveis no GitHub:
https://github.com/googleads/swift-package-manager-google-mobile-ads.git
Selecione a versão do pacote Swift de anúncios para dispositivos móveis do Google que você quer usar. Para novos projetos, recomendamos o uso da Próxima versão principal.
Quando terminar, o Xcode vai começar a resolver as dependências do pacote e fazer o download delas em segundo plano. Para mais detalhes sobre como adicionar dependências de pacotes, consulte o artigo da Apple.
Download manual
Faça o download do framework do SDK e descompacte-o diretamente e importe os seguintes frameworks no seu projeto do Xcode:
GoogleAppMeasurement.xcframework
GoogleAppMeasurementIdentitySupport.xcframework
GoogleMobileAds.xcframework
GoogleUtilities.xcframework
nanopb.xcframework
PromisesObjC.xcframework
UserMessagingPlatform.xcframework
Adicione a sinalização do vinculador
-ObjC
a Outras sinalizações do vinculador nas configurações do build do seu projeto:
Atualizar seu Info.plist
Atualize o arquivo Info.plist
do app para adicionar duas chaves:
Uma chave
GADApplicationIdentifier
com um valor de string de Ad Manager app ID found in the Ad Manager UI and of the formca-app-pub-################~##########
.Uma chave
SKAdNetworkItems
com valoresSKAdNetworkIdentifier
para o Google (cstr6suwn9.skadnetwork
) e alguns compradores terceirizados que forneceram esses valores ao Google.
Snippet completo
<key>GADApplicationIdentifier</key> <string>ca-app-pub-3940256099942544~1458002511</string> <key>SKAdNetworkItems</key> <array> <dict> <key>SKAdNetworkIdentifier</key> <string>cstr6suwn9.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4fzdc2evr5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4pfyvq9l8r.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>2fnua5tdw4.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ydx93a7ass.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>5a6flpkh64.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>p78axxw29g.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v72qych5uu.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ludvb6z3bs.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>cp8zw746q7.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>c6k4g5qg8m.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>s39g8k73mm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qy4746246.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3sh42y64q3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>f38h382jlk.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>hs6bdukanm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>prcb7njmu6.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v4nxqhlyqp.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>wzmmz9fp6w.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>yclnxrl5pm.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>t38b2kh725.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>7ug5zh24hu.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>9rd848q2bz.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>y5ghdn5j9k.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>n6fk4nfna4.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>v9wttpbfk9.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>n38lu8286q.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>47vhws6wlr.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>kbd757ywx3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>9t245vhmpl.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>a2p9lx4jpn.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>22mmun2rn5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4468km3ulz.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>2u9pt9hc89.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>8s468mfl3y.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>av6w8kgt66.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>klf5c3l5u5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ppxm28t8ap.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>424m5254lk.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>ecpz2srf59.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>uw77j35x4d.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>mlmmfzh3r3.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>578prtvx9j.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>4dzt52r2t5.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>gta9lk7p23.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>zq492l623r.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3rd42ekr43.skadnetwork</string> </dict> <dict> <key>SKAdNetworkIdentifier</key> <string>3qcr597p9d.skadnetwork</string> </dict> </array>
Para otimizar o desempenho da inicialização, é importante associar seus grupos de rendimento aos apps específicos em que eles são usados. As configurações do grupo de rendimento segmentadas para iOS e não associadas a nenhum app específico serão enviadas a todos os apps iOS na sua conta, possivelmente aumentando o tempo necessário para a inicialização.
Inicializar o SDK de anúncios para dispositivos móveis
Antes de carregar anúncios, chame o método startWithCompletionHandler:
no GADMobileAds.sharedInstance
, que inicializa o SDK e retorna um gerenciador de conclusão quando a inicialização é concluída ou após um tempo limite de 30 segundos. Isso só precisa ser
feito uma vez, de preferência na inicialização do app. Chame startWithCompletionHandler:
o quanto antes.
Veja um exemplo de como chamar o método startWithCompletionHandler:
no
AppDelegate
:
Exemplo de AppDelegate.m (trecho)
Swift
import GoogleMobileAds @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { GADMobileAds.sharedInstance().start(completionHandler: nil) return true } }
Objective-C
@import GoogleMobileAds; @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [GADMobileAds.sharedInstance startWithCompletionHandler:nil]; return YES; } @end
Se você estiver usando a mediação, espere até que o gerenciador de conclusão seja chamado antes de carregar anúncios. Isso garantirá que todos os adaptadores de mediação sejam inicializados.
Selecione um formato de anúncio
O SDK de anúncios para dispositivos móveis agora é importado e inicializado, e você está pronto para implementar um anúncio. Ad Manager oferece vários formatos de anúncios diferentes para que você possa escolher aquele que melhor se adapta à experiência do usuário no seu app.
Banner
Anúncios retangulares que aparecem na parte superior ou inferior da tela do dispositivo. Os anúncios de banner permanecem na tela enquanto os usuários interagem com o app e podem ser atualizados automaticamente após um determinado período. Se você começou a usar os anúncios para dispositivos móveis agora, saiba que eles são um bom lugar para começar.
Intersticial
São anúncios de tela cheia que cobrem a interface de um aplicativo até serem fechados pelo usuário. É melhor usá-los em pausas naturais no fluxo de execução de um app, como entre níveis de um jogo ou logo após a conclusão de uma tarefa.
Nativo
São anúncios personalizáveis que combinam com a aparência e o tom do seu app. Você decide como e onde eles são colocados para que o layout seja mais consistente com o design do seu app.
O Google Ad Manager oferece duas maneiras de implementar anúncios nativos: estilos nativos e renderização personalizada.
Os estilos nativos foram criados para facilitar a implementação de anúncios nativos. Essa é uma ótima opção para quem está começando a usar o formato. A renderização personalizada foi criada para maximizar a liberdade de criação de apresentações.
Implementar estilos nativos | Implementar a renderização personalizada |
Premiado
Anúncios que recompensam os usuários por assistir a vídeos curtos e interagir com pesquisas e anúncios jogáveis Bom para gerar receita com usuários que acessam conteúdo sem custo financeiro.
Implementar anúncios premiados | Implementar anúncios premiados (novas APIs) |