Começar

A integração do 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, é possível implementar um ou mais dos formatos de anúncio compatíveis.

Pré-requisitos

  • Use o Xcode 15.3 ou versões mais recentes
  • Direcione o app para o iOS 12.0 ou versões mais recentes

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

Use um dos seguintes métodos para importar o SDK dos anúncios para dispositivos móveis do Google.

CocoaPods (preferencial)

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'

Em seguida, na linha de comando, execute:

pod install --repo-update

Se você não conhece o CocoaPods, consulte a documentação oficial para saber como criar e usar Podfiles.

Gerenciador de pacotes do Swift

O SDK dos anúncios para dispositivos móveis do Google oferece suporte ao Swift Package Manager a partir da versão 9.0.0. Siga estas etapas para importar o pacote Swift:

  1. No Xcode, instale o pacote Swift dos anúncios para dispositivos móveis do Google acessando File > Add Packages….

  2. No prompt exibido, pesquise o repositório do GitHub do pacote Swift do Google Mobile Ads:

    https://github.com/googleads/swift-package-manager-google-mobile-ads.git
    
  3. 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 Versão principal mais recente.

Depois disso, 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 pacote, consulte o artigo da Apple (em inglês).

Download manual

  1. Faça o download do SDK dos anúncios para dispositivos móveis do Google e Embed & Sign os seguintes frameworks no projeto do Xcode:

    • GoogleMobileAds.xcframework
    • UserMessagingPlatform.xcframework
  2. Nas configurações de build do projeto:

    • Adicione o caminho /usr/lib/swift aos Caminhos de pesquisa do Runpath.
    • Adicione a flag de vinculador -ObjC a Outras flags de vinculador.

Atualizar o Info.plist

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

  1. Uma chave GADApplicationIdentifier com um valor de string do Ad Manager app ID found in the Ad Manager UI and of the form ca-app-pub-################~##########.

  2. Uma chave SKAdNetworkItems com valores SKAdNetworkIdentifier para o Google (cstr6suwn9.skadnetwork) e selecione 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>2fnua5tdw4.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>ydx93a7ass.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>hs6bdukanm.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>mlmmfzh3r3.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>su67r6k2v3.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>yclnxrl5pm.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>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>ppxm28t8ap.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>578prtvx9j.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>4dzt52r2t5.skadnetwork</string>
  </dict>
  <dict>
    <key>SKAdNetworkIdentifier</key>
    <string>tl55sbb4fm.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>3qcr597p9d.skadnetwork</string>
  </dict>
</array>

Para uma performance de inicialização ideal, é importante associar seus grupos de rendimento aos apps específicos em que eles são usados. As configurações de grupo de rendimento voltadas para iOS e não associadas a nenhum app específico serão enviadas para todos os apps iOS na sua conta, o que pode prolongar o tempo necessário para a inicialização.

Em um app real, substitua o ID de exemplo pelo ID Ad Manager real do app. Você pode usar o ID de exemplo se estiver apenas testando o SDK em um app Hello World.

Inicializar o SDK dos 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). Esse processo só é realizado uma vez, de preferência na inicialização do app. É preciso chamar startWithCompletionHandler: o mais cedo possível.

Confira um exemplo de como chamar o método startWithCompletionHandler: no AppDelegate:

Exemplo de AppDelegate (excerto)

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

SwiftUI

import GoogleMobileAds

class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    GADMobileAds.sharedInstance().start(completionHandler: nil)

    return true
  }
}

@main
struct YourApp: App {
  // To handle app delegate callbacks in an app that uses the SwiftUI lifecycle,
  // you must create an application delegate and attach it to your `App` struct
  // using `UIApplicationDelegateAdaptor`.
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  var body: some Scene {
    WindowGroup {
      NavigationView {
        ContentView()
      }
    }
  }
}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GADMobileAds.sharedInstance startWithCompletionHandler:nil];
  return YES;
}

@end

Selecionar um formato de anúncio

O SDK dos anúncios para dispositivos móveis foi importado e inicializado, e você já pode implementar um anúncio. A Ad Manager oferece vários formatos de anúncio diferentes. Escolha o que melhor se adapta à experiência do usuário no seu app.

Para desenvolvedores da SwiftUI, siga nosso guia da SwiftUI.

Os blocos de anúncios de banner mostram anúncios retangulares que ocupam uma parte do layout de um app. Eles podem ser atualizados automaticamente após um tempo definido. Isso significa que os usuários vão ver 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 um nível em um app de jogo.

Implementar anúncios intersticiais

Nativo

Com os anúncios nativos, você pode personalizar a forma como os recursos, como títulos e chamadas para ação, são apresentados nos seus apps. Ao estilizar o anúncio, você pode criar apresentações naturais e discretas de anúncios 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 projetados para simplificar a implementação de anúncios nativos. Eles são uma ótima opção se você ainda não conhece o formato. A renderização personalizada foi projetada para maximizar a liberdade que você tem para 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 podem jogar, responder a pesquisas ou assistir a vídeos para ganhar prêmios 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 aparecem automaticamente durante transições naturais do 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 retornam ao app. O anúncio se sobrepõe à tela de carregamento.

Implementar anúncios de abertura do app