El SDK de Google Analytics para aplicaciones para dispositivos móviles (iOS) facilita la implementación de Google Analytics en aplicaciones basadas en iOS. En este documento, se describe cómo integrar el SDK en tus apps.
Descripción general del SDK
Este SDK usa un modelo de seguimiento diseñado para realizar un seguimiento de los usuarios en los sitios web tradicionales y la interacción con los widgets en las páginas web tradicionales. Por este motivo, los términos que se usan a continuación reflejan el modelo de seguimiento de sitios web convencionales y se asignan al seguimiento de aplicaciones para dispositivos móviles. Debes estar familiarizado con el seguimiento de Analytics para comprender cómo funciona este SDK.
Usa el SDK de seguimiento de dispositivos móviles para realizar un seguimiento de las aplicaciones para teléfonos con los siguientes tipos de interacción de Analytics:
- Seguimiento de vistas de página
- Una página vista es un medio estándar para medir el volumen de tráfico en un sitio web tradicional. Debido a que las aplicaciones para dispositivos móviles no contienen páginas HTML, debes decidir cuándo (y con qué frecuencia) activar una solicitud de vista de página. Además, como las solicitudes de vistas de página están diseñadas para informar sobre estructuras de directorios, debes proporcionar nombres descriptivos a fin de que las solicitudes aprovechen el nombre de ruta de página en los informes de contenido en Analytics. Los nombres que elijas se propagarán en tus informes de Analytics como rutas de acceso de páginas aunque no sean páginas HTML, pero puedes aprovecharlas si las estructuras para proporcionar agrupaciones adicionales en tus llamadas.
- Seguimiento de eventos
- En Analytics, los eventos están diseñados para hacer un seguimiento de la interacción del usuario con los elementos de las páginas web, de manera diferente a las solicitudes de páginas vistas. Puedes usar la función de seguimiento de eventos de Google Analytics para realizar llamadas adicionales que se informarán en la sección Seguimiento de eventos de la interfaz del informe de Analytics. Los eventos se agrupan mediante categorías y también pueden usar etiquetas por evento, lo que proporciona flexibilidad en la generación de informes. Por ejemplo, una app multimedia podría tener acciones de reproducir/detener/pausar en su categoría video y asignar una etiqueta a cada nombre de video. Luego, en los informes de Google Analytics, se agregaban eventos de todos los eventos etiquetados con la categoría video. Para obtener más información sobre el seguimiento de eventos, consulta la Guía de seguimiento de eventos
- Seguimiento de comercio electrónico
- Usa la función de seguimiento de comercio electrónico para hacer un seguimiento de las transacciones del carrito de compras y las compras directas desde la aplicación.
Para realizar un seguimiento de una transacción, llama al método
addTransaction
a fin de crear una transacción general, así como el métodoaddItem
para cada producto en el carrito de compras. Una vez recopilados, los datos se pueden ver en la sección de informes de comercio electrónico de la interfaz de Google Analytics. Para obtener más información sobre el seguimiento de comercio electrónico, consulte la Guía de seguimiento de comercio electrónico. - Variables personalizadas
- Las variables personalizadas son etiquetas de par nombre-valor que puedes insertar en tu código de seguimiento para definir mejor el seguimiento de Google Analytics. Para obtener más información sobre cómo usar variables personalizadas, consulta la Guía sobre variables personalizadas.
- Compatibilidad con NoThumb
-
El SDK para iPhone ahora incluye una versión de NoThumb de la biblioteca y una versión estándar de Thumb. Para usar la versión NoThumb de la biblioteca, usa el archivo
libGoogleAnalytics_NoThumb.a
en lugar del archivolibGoogleAnalytics.a
.
Cómo comenzar
Requisitos
Para integrar las capacidades de seguimiento de Google Analytics con tu aplicación para iOS, necesitarás lo siguiente:
- SDK de desarrollador de iOS (requiere Xcode 3.1 o versiones posteriores con Mac OS X 10.5.3 o versiones posteriores)
- SDK de Google Analytics para aplicaciones para dispositivos móviles en iOS
Crear
- Abre Xcode y crea un proyecto nuevo para el SO iPhone.
- Arrastra
GANTracker.h
ylibGoogleAnalytics.a
desde el directorio de la biblioteca del SDK al nuevo proyecto. - Incluye el marco de trabajo
CFNetwork
en tu proyecto y vincúlalo conlibsqlite3.0.dylib
.
El SDK de Google Analytics para aplicaciones para celulares debe funcionar con cualquier iPhone o iPod Touch con iOS 2.0 o superior; la biblioteca es compatible con todas las versiones de iOS que admiten aplicaciones nativas.
El SDK incluye una aplicación de ejemplo que demuestra cómo debería verse tu proyecto si se configura correctamente. Puedes usarla como plantilla para tus propias aplicaciones integradas en Analytics.
Usa el SDK
Antes de comenzar a usar el SDK, debe crear una cuenta gratuita en www.google.com/analytics y crear una nueva propiedad web con una URL de sitio web falsa pero descriptiva (p.ej., http://mymobileapp.mywebsite.com
). Una vez que cree la propiedad, escriba o guarde una copia del ID de propiedad web que se genera para la propiedad recién creada.
Debes indicar a tus usuarios, en la aplicación o en tus condiciones del servicio, que te reservas el derecho a realizar un seguimiento y a notificar la actividad de un usuario dentro de tu aplicación de forma anónima. El uso del SDK de Google Analytics se rige adicionalmente por las Condiciones del servicio de Google Analytics, que debes aceptar al registrarte para obtener una cuenta.
Muestras y prácticas recomendadas
Puedes encontrar códigos de muestra y recomendaciones en code.google.com en el proyecto analytics-api-samples.
Biblioteca de EasyTracker
Hay una biblioteca de EasyTracker disponible. Proporciona seguimiento de nivel de aplicación y de UIViewController casi sin esfuerzo de desarrollo. Puede encontrarlo en la sección Descargas del proyecto analytics-api-samples.
Cómo iniciar la herramienta de seguimiento
Para iniciar el seguimiento, llama al método startTrackerWithAccountID
en el singleton de seguimiento obtenido mediante [GANTracker sharedTracker]
. A menudo, es conveniente llamar a este método directamente en el método applicationDidFinishLaunching
del delegado de la app. Pasa el ID de propiedad web, el período de envío obligatorio y el delegado opcional. Por ejemplo:
#import "BasicExampleAppDelegate.h" #import "GANTracker.h" // Dispatch period in seconds static const NSInteger kGANDispatchPeriodSec = 10; @implementation BasicExampleAppDelegate @synthesize window = window_; - (void)applicationDidFinishLaunching:(UIApplication *)application { // ************************************************************************** // PLEASE REPLACE WITH YOUR ACCOUNT DETAILS. // ************************************************************************** [[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-0000000-1" dispatchPeriod:kGANDispatchPeriodSec delegate:nil]; NSError *error; if (![[GANTracker sharedTracker] setCustomVariableAtIndex:1 name:@"iPhone1" value:@"iv1" withError:&error]) { // Handle error here } if (![[GANTracker sharedTracker] trackEvent:@"my_category" action:@"my_action" label:@"my_label" value:-1 withError:&error]) { // Handle error here } if (![[GANTracker sharedTracker] trackPageview:@"/app_entry_point" withError:&error]) { // Handle error here } [window_ makeKeyAndVisible]; } - (void)dealloc { [[GANTracker sharedTracker] stopTracker]; [window_ release]; [super dealloc]; } @end
Seguimiento de páginas vistas y eventos
El seguimiento de las páginas vistas y los eventos es sencillo: solo tienes que llamar a trackPageView
del objeto de seguimiento cada vez que quieras activar una página vista. Llama a trackEvent
para grabar un evento. Para obtener más información sobre las páginas vistas y los eventos, consulta la Descripción general del SDK más arriba.
Cómo usar variables personalizadas
Agregar una variable personalizada también es sencillo: solo usa el método setCustomVariableAtIndex
que proporciona el SDK para dispositivos móviles. Te recomendamos planificar con anticipación, lo que indexa cada variable personalizada asignada a fin de no sobrescribir ninguna variable existente. Para obtener más información sobre las variables personalizadas, consulta la Guía sobre variables personalizadas. Ten en cuenta que el método setCustomVariableAtIndex
no envía datos de forma directa. En cambio, los datos se envían con el siguiente evento o vista de página rastreada. Debe llamar a setCustomVariableAtIndex
antes de realizar un seguimiento de una página vista o un evento. Tenga en cuenta que el alcance predeterminado de las variables personalizadas es el alcance de la página.
Uso del seguimiento de comercio electrónico
Hay 4 métodos que utiliza para habilitar el seguimiento de comercio electrónico en su aplicación:
addTransaction
addItem
trackTransactions
clearTransactions
Llamar a addTransaction
y addItem
agrega la transacción o el elemento a un búfer de comercio electrónico interno, al que se pueden agregar más elementos y transacciones. Solo cuando se llama a trackTransactions
, las transacciones y los elementos se envían al despachador y se ponen en cola para enviarse a Google Analytics.
Para borrar el búfer, puedes llamar al método clearTransactions
.
Nota: No recuerda ninguna transacción enviada previamente al despachador ni las transacciones ya recopiladas por Google Analytics.
El siguiente código de muestra puede ayudarte a comenzar.
/** * The purchase was processed. We will track the transaction and its associated line items * now, but only if the purchase has been confirmed. */ - (void) processPurchase:Purchase purchase { [[GANTracker sharedTracker] addTransaction:[purchase transactionId] totalPrice:[purchase totalPrice] storeName:[purchase store] totalTax:[purchase tax] shippingCost:[purchase shipping] withError:&error]; if (error) { // Handle error } for (PurchaseItem item in [purchase items]) { [[GANTracker sharedTracker] addItem:[purchase transactionId] itemSKU:[item itemSKU] itemPrice:[item price] itemCount:[item count] itemCategory:[item category] withError:&error]; if (error) { // Handle error } } if ([purchase isConfirmed]) { [[GANTracker sharedTracker] trackTransactions:&error]; } else { // The purchase was denied or failed in some way. We need to clear out // any data we've already put in the Ecommerce buffer. [[GANTracker sharedTracker] clearTransactions:&error]; } }
Para obtener más información sobre el comercio electrónico, consulte la Guía de seguimiento de comercio electrónico.
Anonimizar IP
Para anonimizar la información de IP del usuario, establece la propiedad anonymizeIp
en SÍ.
Esto le indica a Google Analytics que anonimice la información que envía el SDK cuando quita el último octeto de la dirección IP antes de su almacenamiento.
Este es un ejemplo de cómo configurarlo:
[[GANTracker sharedTracker] setAnonymizeIp:YES];
Puedes configurar anonymizeIp
en cualquier momento.
Configuración de la tasa de muestreo
Puedes establecer la tasa de muestreo con la propiedad sampleRate
.
Si su aplicación genera mucho tráfico de Analytics, configurar la tasa de muestreo puede impedir que sus informes se generen con muestreo de datos. El muestreo se realiza de manera coherente entre los usuarios únicos, por lo que hay integridad en las tendencias y los informes cuando la tasa de muestreo está habilitada.
El parámetro sampleRate
es un NSUInteger y puede tener un valor entre 0 y 100, inclusive. A continuación, te mostramos un ejemplo en el que se reduce el sampleRate
al 95%:
[[GANTracker sharedTracker] setSampleRate:95];
Una tasa de 0 desactiva la generación de hits, mientras que una tasa de 100 envía todos los datos a Google Analytics.
Es mejor establecer sampleRate
antes de llamar a cualquier método de seguimiento.
Puedes obtener más información sobre el muestreo en la Guía de conceptos de muestreo.
Agrupación en lotes
Para ahorrar en conexión y sobrecarga de batería, te recomendamos que agrupes tus solicitudes de seguimiento. Puedes llamar a dispatch
en el objeto de seguimiento cada vez que quieras realizar una solicitud por lotes y puedes hacerlo de forma manual o en intervalos específicos.
Problemas conocidos
dispatch
en las siguientes situaciones:
-
En el método
applicationWillTerminate
-
En el
applicationDidEnterBackground
-
Antes de llamar a
stopTracker
dispatchSynchronous:
.
Seguimiento de campañas
Seguimiento general de campañas
Con la versión 1.3 del SDK de Google Analytics para iOS, ahora puede realizar un seguimiento de las referencias de la campaña. Por ejemplo, si tu aplicación implementa un esquema de URL personalizada, puedes crear una URL que contenga los parámetros de búsqueda de la campaña. Cuando tu aplicación se inicia en respuesta a una URL de este tipo, puedes recuperar los parámetros de consulta y pasarlos a setReferrer para que la información se almacene en Google Analytics.
Para establecer la información de referencia de la campaña, usa el método setReferrer
de la siguiente manera:
[[GANTracker sharedTracker] setReferrer:referrer withError:&error];
Existen dos restricciones para usar esta función. Primero, debes llamar a startTrackerWithAccountID
antes de llamar a setReferrer
. Debes hacer esto porque la base de datos SQLite que usa Google Analytics no está configurada antes de llamar a startTrackerWithAccountID
, y setReferrer
necesita esa base de datos. Si no llamaste a startTrackerWithAccountID
, recibirás un error.
La segunda restricción es que la string de referencia que se pasa a setReferrer
debe seguir un formato específico.
Debe tener la forma de un conjunto de parámetros de URL y debe incluir al menos un parámetro gclid o uno de cada uno de estos elementos: utm_campaign, utm_medium y utm_source. En este último caso, también puede tener los parámetros utm_term y utm_content.
El parámetro gclid es parte de la función de etiquetado automático que vincula automáticamente Google Analytics con Google Ads. Una referencia de campaña de muestra con el etiquetado automático podría verse así:
referrer = @“gclid=gclidValue”;
La string de referencia manual de la campaña podría verse así:
referrer = @“utm_campaign=campaign&utm_source=source&utm_medium=medium&utm_term=term&utm_content=content”;
Si pasas una string de referencia con formato incorrecto a setReferrer
, la información de referencia no se cambiará y obtendrás un valor de retorno falso. Un valor de resultado verdadero indica que se actualizó el referente y se agregará a cada hit del futuro.
También se mostrará un error que puedes inspeccionar para obtener detalles sobre el problema en caso de que la llamada falle.
Además, ten en cuenta que se iniciará una sesión nueva cuando llames a setReferrer y el resultado será verdadero.
Parámetros del vínculo de referencia
Parámetro | Obligatorio | Descripción | Ejemplos |
---|---|---|---|
utm_campaign |
Sí | Nombre de la campaña; se usa para el análisis de palabras clave a fin de identificar una promoción de un producto específico o una campaña estratégica | utm_campaign=spring_sale |
utm_source |
Sí | Fuente de la campaña: Se utiliza para identificar un motor de búsqueda, un boletín informativo u otra fuente. | utm_source=google |
utm_medium |
Sí | Medio de la campaña: Se utiliza para identificar un medio, como el correo electrónico o el costo por clic (CPC). | utm_medium=cpc |
utm_term |
No | Término de campaña; se utiliza con la búsqueda pagada para proporcionar las palabras clave de los anuncios | utm_term=running+shoes |
utm_content |
No | Contenido de la campaña: Se usa para pruebas A/B y anuncios orientados por contenido para diferenciar los anuncios o vínculos que dirigen a la misma URL |
utm_content=logolink
utm_content=textlink
|