Neste guia, descrevemos como criar e implementar um app iOS no Swift para acompanhar os eventos de abertura da tela e pressionamento de botão com o Gerenciador de tags do Google (GTM).
1. Criar um novo projeto
- Abra o Xcode.
- Clique em Criar um novo projeto do Xcode.
- Selecione Single View Application.
- Clique em Next.
- Dê um nome ao projeto e escolha opções adicionais. O nome do projeto e
do app serão iguais aos do produto.
- Clique em Next.
- Selecione o local do projeto (diretório).
- Clique em Criar.
2. Instalar as dependências do Gerenciador de tags do Google
- Saia do Xcode.
- Em um terminal, execute o seguinte comando para instalar o Cocoapods:
$ sudo gem install cocoapods
- Mude para o diretório do seu projeto.
- Execute este comando para criar um arquivo chamado
Podfile
:$ pod init
- Em
Podfile
, remova a marca de comentário deuse_frameworks!
e adicionepod 'GoogleTagManager'
ao destino: - Execute o seguinte comando para fazer o download e instalar as dependências do Gerenciador de tags do Google (GTM) no seu projeto:
$ pod install
Esse comando também cria o espaço de trabalho
GtmSwiftTutorial.xcworkspace
. A partir de agora, use este espaço de trabalho para desenvolver o appGtmSwiftTutorial
.
# Uncomment this line if you're using Swift use_frameworks! target 'GtmSwiftTutorial' do pod 'GoogleTagManager' end
3. Adicionar um cabeçalho ponte para bibliotecas Objective-C
Para criar um arquivo de cabeçalho de ponte:
- Abra o Xcode.
- Clique em Arquivo > Novo > Arquivo.
- Em iOS > Source, selecione Header File.
- Clique em Next.
- Digite o nome do arquivo principal
BridgingHeader.h
.
- Clique em Criar.
- Adicione estas instruções
import
ao arquivo principal:#ifndef BridgingHeader_h #define BridgingHeader_h #import <GoogleTagManager/TAGManager.h> #import <GoogleTagManager/TAGContainer.h> #import <GoogleTagManager/TAGContainerOpener.h> #import <GoogleTagManager/TAGDataLayer.h> #import <GoogleTagManager/TAGLogger.h> #endif /* BridgingHeader_h */
Para adicionar o cabeçalho de ponte do Objective-C nas configurações de build:
- No Xcode, clique no seu projeto.
- Clique em Build Settings na área do editor.
- Selecione Todos e Combinados e pesquise pontuação.
- Na coluna à direita da linha que contém o Cabeçalho de ponte do Objective-C,
insira
BridgingHeader.h
.
4. Adicionar um contêiner padrão ao seu projeto
Antes de adicionar um contêiner padrão ao seu projeto, faça o download de um binário de contêiner para dispositivos móveis:
- Faça login na sua conta do Gerenciador de tags do Google.
- Selecione um contêiner para dispositivos móveis.
- Clique em Versões na barra de menus.
- Clique em Ações > Download na versão do contêiner selecionada.
GTM-PT3L9Z
.
Para adicionar um binário de contêiner padrão ao seu projeto:
- Abra o Xcode.
- Clique no ícone do Finder no Dock.
- Clique na pasta
Downoloads
. - Arraste o arquivo binário do contêiner na pasta
Downloads
e solte-o na pasta raiz do projeto Xcode.
5. Vincular o Gerenciador de tags do Google ao seu app
- No Xcode, abra o arquivo
AppDelegate.swift
. - Faça com que a classe
AppDelegate
estenda a classeTAGContainerOpenerNotifier
:import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate, TAGContainerOpenerNotifier { // ... }
Depois de estender a classe, você receberá o erro
Type 'AppDelegate' does not conform to protocol 'TAGContainerOpenerNotifier'
. Siga estas etapas para corrigir esse erro. - Adicione a seguinte função à parte de baixo da definição da classe
AppDelegate
:func containerAvailable(container: TAGContainer!) { container.refresh() }
- Na função
application
, adicione o seguinte código antes da instruçãoreturn true
:let GTM = TAGManager.instance() GTM.logger.setLogLevel(kTAGLoggerLogLevelVerbose) TAGContainerOpener.openContainerWithId("GTM-PT3L9Z", // change the container ID "GTM-PT3L9Z" to yours tagManager: GTM, openType: kTAGOpenTypePreferFresh, timeout: nil, notifier: self)
6. Rastrear evento de abertura da tela
Para acompanhar um evento de abertura de tela:
- Crie uma variável para armazenar o ID de acompanhamento.
- Crie uma variável de camada de dados com o nome screenName.
- Crie uma tag do GTM com o nome Screen View.
- Adicione o código de acompanhamento de tela.
a. Crie uma variável para armazenar o ID de acompanhamento
- Faça login na sua conta do Gerenciador de tags do Google.
- Selecione um contêiner para dispositivos móveis.
- Na barra de navegação à esquerda, clique em Variáveis.
- Em Variáveis definidas pelo usuário, clique em Nova.
- Clique em Variável sem título para inserir ID de acompanhamento como o nome da variável.
- Escolha Constante como o tipo da variável.
- Insira o ID de acompanhamento (na forma de
UA-XXXXXXXX-X
, em queX
é um dígito) como o valor da variável.UseUA-47605289-5
(a ser excluído). - Clique em Criar variável.
b. Criar uma variável de camada de dados com o nome screenName
- Faça login na sua conta do Gerenciador de tags do Google.
- Selecione um contêiner para dispositivos móveis.
- Na barra de navegação à esquerda, clique em Variáveis.
- Em Variáveis definidas pelo usuário, clique em Nova.
- Clique em Variável sem título para inserir o Nome da tela como título.
- Selecione Variável da camada de dados como o tipo.
- Insira screenName como o Nome da variável da camada de dados.
- Clique em Definir valor padrão.
- Digite o valor padrão Tela desconhecida.
- Clique em Criar variável.
c. Criar uma tag do GTM intitulada "Visualização de tela"
- Faça login na sua conta do Gerenciador de tags do Google.
- Selecione um contêiner para dispositivos móveis.
- Na barra de navegação à esquerda, clique em Tags.
- Clique em Novo.
- Clique em Tag sem título para inserir Visualização de tela como o nome.
- Escolha o produto Google Analytics.
- Selecione ID de acompanhamento na lista.
- Selecione Visualização do aplicativo como o Tipo de acompanhamento.
- Clique em Mais configurações.
- Clique em Campos a serem definidos.
- Clique em + Adicionar campo.
- Selecione o nome do campo screenName e o valor dele Screen Name.
- Clique em Continuar.
- Em Disparar em, selecione Qualquer evento.
- Clique em Criar tag.
d. Adicionar o código de acompanhamento de tela
- Abra o arquivo
ViewController.swift
no Xcode. - Defina uma variável com o nome
dataLayer
dentro da classeViewController
:var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer
- Na função
viewDidLoad()
, envie o eventoOpenScreen
para a camada de dados:dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"])
A definição da classe ViewController
é semelhante a esta:
import UIKit class ViewController: UIViewController { var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer override func viewDidLoad() { super.viewDidLoad() dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"]) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that cant be recreated } }
7. Rastrear evento pressionado
Para rastrear um evento de pressionamento de botão:
- Crie uma variável de camada de dados chamada eventAction.
- Crie uma variável de evento personalizada chamada Evento.
- Crie uma tag do GTM intitulada Botão pressionado.
- Crie um botão e adicione um código para saber se o botão foi pressionado.
a. Criar uma variável de camada de dados com o nome eventAction
- Faça login na sua conta do Gerenciador de tags do Google.
- Selecione um contêiner para dispositivos móveis.
- Na barra de navegação à esquerda, clique em Variáveis.
- Em Variáveis definidas pelo usuário, clique em Nova.
- Clique em Variável sem título para inserir o título Ação do evento.
- Selecione Variável da camada de dados como o tipo.
- Insira eventAction como o nome da variável da camada de dados.
- Clique em Definir valor padrão.
- Informe o valor padrão Evento desconhecido.
- Clique em Criar variável.
b. Crie uma variável de evento personalizada chamada "Evento"
- Faça login na sua conta do Gerenciador de tags do Google.
- Selecione um contêiner para dispositivos móveis.
- Na barra de navegação à esquerda, clique em Variáveis.
- Em Variáveis definidas pelo usuário, clique em Nova.
- Clique em Variável sem título para inserir Evento como o nome.
- Escolha Evento personalizado como o tipo da variável.
- Clique em Criar variável.
c. Crie uma tag do GTM intitulada "Botão pressionado"
- Faça login na sua conta do Gerenciador de tags do Google.
- Selecione um contêiner para dispositivos móveis.
- Na barra de navegação à esquerda, clique em Tags.
- Clique em Novo.
- Clique em Tag sem título para inserir Botão pressionado como o nome.
- Escolha o produto Google Analytics.
- Selecione ID de acompanhamento na lista.
- Selecione Evento como o Tipo de acompanhamento.
- Selecione a categoria Evento.
- Selecione Ação do evento.
- Clique em Continuar.
- Em Disparar em, selecione Qualquer evento.
- Clique em Criar tag.
d. Crie um botão e adicione um código para saber se ele foi pressionado
- Abra seu projeto do Xcode.
- Abra o
Main.storyboard
. - Clique no botão no canto superior direito da barra de ferramentas do Xcode para abrir a área de utilitários (barra lateral direita).
- Na parte inferior da área de serviços públicos,
Clique no botão Show the Object library (o botão azul):
- Digite o button na caixa de pesquisa.
- Arraste o Button para o storyboard e solte-o no canto superior esquerdo.
- Clique no botão do editor do assistente na barra de ferramentas do Xcode.
- Mantenha a tecla Ctrl pressionada, arraste o botão e solte-o
na parte de baixo da definição da classe
ViewController
.
- Na caixa de diálogo, selecione a conexão Action, insira o nome da função
buttonPressed e clique em Connect.
Isso adiciona a seguinte função ao final da definição da classe
ViewController
:@IBAction func buttonPressed(sender: AnyObject) { }
A função é executada sempre que o botão é pressionado.
- Na função
buttonPressed
, adicione o seguinte código para enviar o eventoButtonPressed
à camada do dia:@IBAction func buttonPressed(sender: AnyObject) { dataLayer.push(["event": "ButtonPressed", "eventAction": "Test Event"]) }
8. Criar e executar o app
No Xcode, clique em Product > Run. O Xcode criará e executará o app: