En esta guía, se describe cómo crear e implementar una app para iOS en Swift para hacer un seguimiento de los eventos de apertura de pantalla y de presión de botones con la etiqueta de Google Manager (GTM).
1. Crea un proyecto nuevo
- Abre Xcode.
- Haz clic en Create a new Xcode project.
- Selecciona Single View Application.
- Haz clic en Siguiente.
- Asígnale un nombre a tu proyecto y elige opciones adicionales para él. El nombre de tu proyecto y
El nombre de la app será el mismo que el del producto.
- Haz clic en Siguiente.
- Selecciona una ubicación de proyecto (directorio).
- Haz clic en Crear.
2. Cómo instalar dependencias de Google Tag Manager
- Sal de Xcode.
- En una terminal, ejecuta el siguiente comando para instalar
CocoaPods:
$ sudo gem install cocoapods
- Cambia al directorio de tu proyecto.
- Ejecuta el siguiente comando para crear un archivo llamado
Podfile:$ pod init
- En
Podfile, quita el comentario deuse_frameworks!. y agregapod 'GoogleTagManager'al destino: - Ejecuta el siguiente comando para descargar y, luego, instalar Google Tag Manager (GTM).
dependencias a tu proyecto:
$ pod install
Con este comando, también se crea el espacio de trabajo
GtmSwiftTutorial.xcworkspace. A partir de ahora, usa este espacio de trabajo para desarrollar la app deGtmSwiftTutorial.
# Uncomment this line if you're using Swift use_frameworks! target 'GtmSwiftTutorial' do pod 'GoogleTagManager' end
3. Agrega un encabezado puente para las bibliotecas de Objective-C
Para crear un archivo de encabezado puente:
- Abre Xcode.
- Haz clic en Archivo > Nuevo > Archivo.
- En iOS > Source, selecciona Header File.
- Haz clic en Siguiente.
- Ingresa el nombre de archivo de encabezado
BridgingHeader.h.
- Haz clic en Crear.
- Agrega estas sentencias
importal archivo de encabezado:#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 agregar el encabezado puente de Objective-C en la configuración de la compilación, haz lo siguiente:
- En Xcode, haz clic en tu proyecto.
- Haz clic en Build Settings en el área de editor.
- Selecciona Todas y Combinadas, y busca el puente.
- En la columna derecha de la fila que contiene el encabezado de puente de Objective-C, haz lo siguiente:
ingresa
BridgingHeader.h.
4. Agrega un contenedor predeterminado a tu proyecto
Antes de agregar un contenedor predeterminado a tu proyecto, descarga Un objeto binario de contenedor para dispositivos móviles:
- Accede a tu Google Tag Manager
- Selecciona un contenedor para dispositivos móviles.
- Haz clic en Versiones, en la barra de menú.
- Haz clic en Acciones > Descargar en el contenedor seleccionado versión.
GTM-PT3L9Z.
Para agregar un objeto binario de contenedor predeterminado a tu proyecto, haz lo siguiente:
- Abre Xcode.
- Haz clic en el ícono de Finder en el Dock.
- Haz clic en la carpeta
Downoloads. - Arrastra el archivo binario del contenedor en la carpeta
Downloadsy suéltalo. en la carpeta raíz del proyecto Xcode.
5. Cómo vincular Google Tag Manager a tu app
- En Xcode, abre el archivo
AppDelegate.swift. - Haz que la clase
AppDelegateextienda el ClaseTAGContainerOpenerNotifier:import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate, TAGContainerOpenerNotifier { // ... }
Después de extender la clase, obtendrás
Type 'AppDelegate' does not conform to protocol 'TAGContainerOpenerNotifier'. En el siguiente paso, se corregirá este error. - Agrega la siguiente función al final de la definición de la clase
AppDelegate:func containerAvailable(container: TAGContainer!) { container.refresh() }
- En la función
application, agrega el siguiente código antes de la sentenciareturn 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. Registrar evento de apertura de pantalla
Para realizar el seguimiento de un evento de apertura de pantalla:
- Crea una variable para almacenar el ID de seguimiento.
- Crea una variable de capa de datos llamada screenName.
- Crea una etiqueta de GTM con el nombre Screen View.
- Agrega el código de seguimiento de la pantalla.
a. Crea una variable para almacenar el ID de seguimiento
- Accede a Google Tag Manager. de servicio predeterminada.
- Selecciona un contenedor para dispositivos móviles.
- En la barra de navegación izquierda, haz clic en Variables.
- En Variables definidas por el usuario, haz clic en Nueva.
- Haz clic en Untitled Variable para ingresar el nombre de la variable. ID de seguimiento:
- Elige Constante como el tipo de variable.
- Ingresa el ID de seguimiento (con el formato
UA-XXXXXXXX-X, dondeXes un dígito) como valor de la variable.UsaUA-47605289-5(que se borrará). - Haz clic en Crear variable.
b. Crea una variable de capa de datos llamada screenName
- Accede a Google Tag Manager. de servicio predeterminada.
- Selecciona un contenedor para dispositivos móviles.
- En la barra de navegación izquierda, haz clic en Variables.
- En Variables definidas por el usuario, haz clic en Nueva.
- Haz clic en Untitled Variable para ingresar el título. Nombre de pantalla.
- Elige Data Layer Variable como el tipo de variable.
- Ingresa screenName como el Nombre de variable de la capa de datos.
- Haz clic en Establecer valor predeterminado.
- Ingresa el valor predeterminado unknown screen.
- Haz clic en Crear variable.
c. Crea una etiqueta de GTM con el título Vista de pantalla.
- Accede a Google Tag Manager. de servicio predeterminada.
- Selecciona un contenedor para dispositivos móviles.
- En la barra de navegación izquierda, haz clic en Etiquetas.
- Haz clic en Nuevo.
- Haz clic en Etiqueta sin título para ingresar el nombre de la etiqueta. Vista de pantalla
- Elige el producto Google Analytics.
- Selecciona ID de seguimiento en la lista.
- Selecciona App View como el Tipo de segmento.
- Haz clic en More settings.
- Haz clic en Campos para configurar.
- Haz clic en + Agregar campo.
- Selecciona el nombre del campo screenName y su valor Screen Name.
- Haz clic en Continuar.
- En Fire On, selecciona Any Event.
- Haz clic en Crear etiqueta.
d. Agregar código de seguimiento de pantalla
- Abre el archivo
ViewController.swiften Xcode. - Define una variable llamada
dataLayerdentro del ClaseViewController:var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer
- En la función
viewDidLoad(), envía elOpenScreena la capa de datos:dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"])
La definición de la clase ViewController se ve así:
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. Evento presionado mediante el botón de seguimiento
Para realizar el seguimiento de un evento presionado por un botón, haz lo siguiente:
- Crea una variable de capa de datos llamada eventAction.
- Crea una variable de evento personalizada llamada Event.
- Crea una etiqueta de GTM con el título Botón presionado.
- Crea un botón y agrega código para hacer un seguimiento de que se presione el botón.
a. Cómo crear una variable de capa de datos llamada eventAction
- Accede a Google Tag Manager. de servicio predeterminada.
- Selecciona un contenedor para dispositivos móviles.
- En la barra de navegación izquierda, haz clic en Variables.
- En Variables definidas por el usuario, haz clic en Nueva.
- Haz clic en Untitled Variable para ingresar el título. Acción de evento.
- Elige Data Layer Variable como el tipo de variable.
- Ingresa eventAction como el Nombre de variable de la capa de datos.
- Haz clic en Establecer valor predeterminado.
- Ingresa el valor predeterminado unknown event.
- Haz clic en Crear variable.
b. Crea una variable de evento personalizada llamada Event
- Accede a Google Tag Manager. de servicio predeterminada.
- Selecciona un contenedor para dispositivos móviles.
- En la barra de navegación izquierda, haz clic en Variables.
- En Variables definidas por el usuario, haz clic en Nueva.
- Haz clic en Untitled Variable para ingresar el nombre de la variable Event.
- Elige Evento personalizado como tipo de variable.
- Haz clic en Crear variable.
c. Crea una etiqueta de GTM con el título Button Presionado
- Accede a Google Tag Manager. de servicio predeterminada.
- Selecciona un contenedor para dispositivos móviles.
- En la barra de navegación izquierda, haz clic en Etiquetas.
- Haz clic en Nuevo.
- Haz clic en Etiqueta sin título para ingresar el nombre de la etiqueta. Botón presionado:
- Elige el producto Google Analytics.
- Selecciona ID de seguimiento en la lista.
- Selecciona Evento como Tipo de segmento.
- Selecciona la categoría Evento.
- Selecciona Acción del evento.
- Haz clic en Continuar.
- En Fire On, selecciona Any Event.
- Haz clic en Crear etiqueta.
d. Crea un botón y agrega código para hacer un seguimiento de que se presiona el botón
- Abre tu proyecto Xcode.
- Abre
Main.storyboard. - Haz clic en el botón superior derecho de la barra de herramientas de Xcode para abrir
el área de utilidades (barra lateral derecha).
- En la parte inferior del área de servicios públicos,
de
Haz clic en el botón Mostrar la biblioteca de objetos (el botón azul):
- Ingresa botón en el cuadro de búsqueda.
- Arrastra Botón al guion gráfico y suéltalo en la parte superior.
en la esquina superior izquierda.
- Haz clic en el botón de Asistente de edición.
en la barra de herramientas de Xcode. - Mientras mantienes presionada la tecla Ctrl, arrastra el botón y suéltalo
al final de la definición de la clase
ViewController.
- En el cuadro de diálogo, selecciona Action connection, ingresa el nombre de la función.
buttonPressed y, luego, hacer clic en Conectar.
Esto agrega la siguiente función al final de la Definición de la clase
ViewController:@IBAction func buttonPressed(sender: AnyObject) { }
La función se ejecuta cada vez que se presiona el botón.
- En la función
buttonPressed, agrega el siguiente código al envía el eventoButtonPresseda la capa de día:@IBAction func buttonPressed(sender: AnyObject) { dataLayer.push(["event": "ButtonPressed", "eventAction": "Test Event"]) }
8. Compila y ejecuta tu app
En Xcode, haz clic en Product > Ejecutar (Run). Xcode compilará y ejecutará la app: