Este guia é para editores que querem gerar receita com um app iOS com a AdMob e que não usam o Firebase. Se você pretende incluir o Firebase no seu app (ou está pensando em fazer isso), consulte a versão AdMob com Firebase deste guia.
A integração do SDK dos anúncios para dispositivos móveis do Google a um app é a primeira etapa para exibir anúncios e gerar receita. Depois de integrar o SDK, implemente um ou mais dos formatos de anúncio compatíveis.
Pré-requisitos
- Use o Xcode 15.3 ou versão mais recente
- Segmentar o iOS 12.0 ou versões mais recentes
- Recomendado: criar uma conta da AdMob e registrar um app.
Importar o SDK dos 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.
CocoaPods (preferencial)
A maneira mais simples de importar o SDK para um projeto 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 (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 Gerenciador de pacotes Swift a partir da versão 9.0.0. Siga estas etapas para importar o pacote Swift:
No Xcode, instale o pacote Swift dos anúncios para dispositivos móveis do Google acessando File > Add Packages....
Na solicitação exibida, pesquise o repositório GitHub dos pacotes dos anúncios para dispositivos móveis do Google para Swift:
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 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 saber mais sobre como adicionar dependências de pacotes, consulte o artigo da Apple.
Download manual
Faça o download do SDK dos anúncios para dispositivos móveis do Google e
Embed & Sign
dos seguintes frameworks no seu projeto do Xcode:GoogleMobileAds.xcframework
UserMessagingPlatform.xcframework
Adicione a sinalização do vinculador
-ObjC
a Outras sinalizações do vinculador nas configurações de compilação 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 da sua AdMob app ID found in the AdMob UI.Uma chave
SKAdNetworkItems
com valoresSKAdNetworkIdentifier
para o Google (cstr6suwn9.skadnetwork
) e selecionar 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>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 e registrar um app, caso ainda não tenha feito.
Em um app real, substitua o ID do app de exemplo pelo ID AdMob real. Use o ID de amostra 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). Isso só precisa ser
feito uma vez, de preferência na inicialização do app. Chame startWithCompletionHandler:
o quanto antes.
Confira um exemplo de como chamar o método startWithCompletionHandler:
no
AppDelegate
:
Exemplo de AppDelegate (trecho)
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
Selecione 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.O AdMob oferece vários formatos de anúncio diferentes para que você possa escolher o que melhor se adapta à experiência do usuário do seu aplicativo.
Para desenvolvedores da SwiftUI, siga nosso guia da SwiftUI.
Banner
Os blocos de anúncios de banner exibem anúncios retangulares que ocupam uma parte do layout de um app. Eles podem ser atualizados automaticamente após um período definido. Isso significa que os usuários visualizam um novo anúncio em intervalos regulares, mesmo que fiquem na mesma tela do app. Também são o formato de anúncio mais simples de implementar.
Implementar anúncios de banner
Intersticial
Os blocos de anúncios intersticiais exibem anúncios de página inteira no seu aplicativo. Posicione-os em intervalos e transições naturais na interface do aplicativo, como após a conclusão de uma fase em um aplicativo de jogo.
Implementar anúncios intersticiais
Nativo
Nos anúncios nativos, é possível personalizar a forma como os recursos, como títulos e calls-to-action, são apresentados nos seus apps. Ao personalizar o estilo do anúncio, é possível criar apresentações naturais e discretas que criam uma experiência melhor para o usuário.
Premiado
Os blocos de anúncios premiados permitem que os usuários joguem, respondam a pesquisas ou assistam vídeos para ganhar recompensas no app, como moedas, vidas extras ou pontos. Você pode 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
Os intersticiais premiados são um novo tipo de formato de anúncio incentivado que permite oferecer recompensas, como moedas ou vidas extras, para anúncios que aparecem automaticamente durante transições naturais do app.
Ao contrário dos anúncios premiados, os usuários não precisam ativar a visualização de um intersticial premiado.
Em vez de um aviso de ativação nos anúncios premiados, os intersticiais premiados exigem uma tela inicial que anuncia a recompensa e dá aos usuários a chance de recusar essa exibição.
Implementar anúncios intersticiais premiados
Abertura do app
A abertura do app é um formato de anúncio exibido quando os usuários abrem ou voltam ao seu app. O anúncio se sobrepõe à tela de carregamento.