Começar

Este guia é destinado a editores que querem gerar receita com um app para iOS com a AdMob e não usam o Firebase. Se você pretende incluir o Firebase no seu aplicativo (ou se estiver pensando em usá-lo), consulte a versão AdMob com Firebase deste guia.

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

  • Usar o Xcode 14.1 ou uma versão mais recente
  • Segmentar o iOS 11.0 ou superior

Importar o SDK de anúncios para dispositivos móveis

CocoaPods (preferido)

A maneira mais simples de importar o SDK para um projeto do iOS é usar 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ê não estiver familiarizado com o CocoaPods, consulte a documentação oficial 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.

  1. No Xcode, instale o pacote Swift do Google Mobile Ads navegando para Arquivo > Adicionar pacotes....

  2. Na solicitação exibida, procure o repositório GitHub dos anúncios para dispositivos móveis do Google para o GitHub:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. Selecione a versão do pacote Swift dos anúncios para celular do Google que deseja usar. Para projetos novos, recomendamos usar a Versão principal seguinte.

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

  1. Faça o download e descompacte o framework do SDK diretamente e importe os seguintes frameworks para seu projeto do Xcode:

    • GoogleAppMeasurement.xcframework
    • GoogleAppMeasurementIdentitySupport.xcframework
    • GoogleMobileAds.xcframework
    • GoogleUtilities.xcframework
    • nanopb.xcframework
    • PromisesObjC.xcframework
    • UserMessagingPlatform.xcframework
  2. Adicione a sinalização do vinculador -ObjC a Outras sinalizações do vinculador nas configurações de versão do seu projeto:

Atualizar seu Info.plist

Atualize o arquivo Info.plist do seu app para adicionar duas chaves:

  1. Uma chave GADApplicationIdentifier com um valor de string de AdMob app ID found in the AdMob UI.

  2. Uma chave SKAdNetworkItems com valores SKAdNetworkIdentifier para o Google (cstr6suwn9.skadnetwork) e alguns compradores de terceiros 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>3sh42y64q3.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>f38h382jlk.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>hs6bdukanm.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>gta9lk7p23.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>vutu7akeur.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>eh6m2bh4zr.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>klf5c3l5u5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ppxm28t8ap.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>pwa73g5rt2.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>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>

Este é o momento ideal para criar uma conta da AdMob ou registrar um app, caso ainda não tenha feito.

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 chama um gerenciador de conclusão quando a inicialização é concluída (ou após um tempo limite de 30 segundos). Isso precisa ser feito apenas uma vez, de preferência na inicialização do app. Chame startWithCompletionHandler: o mais cedo possível.

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, pois isso garantirá que todos os adaptadores de mediação sejam inicializados.

Selecione um formato de anúncio

Agora, o SDK de anúncios para dispositivos móveis é importado e inicializado, e você está pronto para implementar um anúncio.O AdMob oferece vários formatos de anúncio diferentes para que você possa escolher o que melhor se ajusta à experiência do usuário do seu aplicativo.

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 aplicativo 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, eles são um bom lugar para começar.

Implementar um banner

Intersticial

Anúncios em tela cheia que cobrem a interface de um aplicativo até serem fechados pelo usuário. Elas são mais úteis em pausas naturais no fluxo de execução de um app, como entre os níveis de um jogo ou logo após a conclusão de uma tarefa.

Implementar um intersticial

Nativo

São anúncios personalizáveis que combinam com a aparência do seu app. Você decide como e onde eles são posicionados. Assim, o layout fica mais consistente com o design do app.

Implemente Native Ads

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)