Configuración avanzada: SDK de iOS

En este documento, se proporciona una vista general de algunas de las funciones de configuración avanzada del SDK de Google Analytics para iOS v2.

Descripción general

El SDK de Google Analytics para iOS usa dos clases a fin de administrar el estado global de la implementación y enviar datos a los servidores de Google Analytics.

  • GAI: Es un singleton que controla el estado global de tu implementación, incluida la obtención de objetos GAITracker nuevos, así como la configuración de inhabilitación y despacho de tu app.
  • GAITracker: Es la clase desde la que envías datos a Google Analytics. Se pueden crear instancias de varias herramientas de seguimiento, una por cada ID de propiedad único.

Cómo usar varios monitores

A partir de la versión 2 del SDK, puedes usar varios rastreadores en una sola implementación, uno por ID de seguimiento único. Todos los monitores comparten el mismo estado global retenido por tu singleton GAI.

En el siguiente ejemplo, se envía una visita a una pantalla a dos propiedades separadas mediante dos rastreadores, cada uno con su propio ID de propiedad único:

#import "RootViewController.h"
#import "GAI.h"

@interface RootViewController ()

@end

@implementation RootViewController
{
- (void)viewDidLoad {
  [super viewDidLoad];

  // Send a screen view to the first property.
  id tracker1 = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-Y"];
  [tracker1 sendView:@"/HomeScreen"];

  // Send another screen view to the second property.
  id tracker2 = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-Z"];
  [tracker2 sendView:@"Home"];
}

@end

Ten en cuenta que las funciones de medición automatizada, como la pantalla automática y la medición de excepciones no detectadas, solo usarán un seguimiento para enviar datos a Google Analytics. Si usas estas funciones y quieres enviar datos con otras herramientas de seguimiento, deberás hacerlo de forma manual.

Como referencia, la medición automática de pantalla usa el seguimiento especificado en la propiedad tracker de un GAITrackedViewController determinado. La medición de excepciones no detectadas usa el seguimiento predeterminado especificado en la instancia GAI.

Seguimiento predeterminado

Si bien una implementación puede usar varios rastreadores a nivel global, tiene un rastreador predeterminado. El primer Tracker recuperado se convierte en el rastreador predeterminado.

Para obtener la herramienta de seguimiento predeterminada, usa lo siguiente:

// Get default tracker.
id myDefault = [GAI sharedInstance].defaultTracker;

Para configurar la herramienta de seguimiento predeterminada, usa lo siguiente:

// Get a new tracker.
id newTracker = [[GAI sharedInstance]trackerWithTrackingId:@"UA-NEW-TRACKING-ID");

// Set the new tracker as the default tracker, globally.
[GAI sharedInstance].defaultTracker = newTracker;

Muestreo

Puedes habilitar el muestreo del cliente para limitar la cantidad de hits enviados a Google Analytics. Si tu app tiene una gran cantidad de usuarios o envía un gran volumen de datos a Google Analytics, habilitar el muestreo ayudará a garantizar la generación ininterrumpida de informes.

Por ejemplo, para implementar el muestreo del cliente a una tasa del 50%, usa el siguiente código:

// Set a sample rate of 50%.
[tracker setSampleRate:50.0];  // Sample rate is a double.

Exclusión de la aplicación

Puedes habilitar una marca de inhabilitación a nivel de la app que inhabilitará Google Analytics en toda la app. Una vez configurada, la marca persistirá durante todo el ciclo de vida de la app o hasta que esta se restablezca.

Para obtener la configuración de inhabilitación a nivel de la app, usa lo siguiente:

// Get the app-level opt out preference.
if ([GAI sharedInstance].optOut) {
  ... // Alert the user they have opted out.
}

Para establecer la marca de inhabilitación a nivel de la app, usa lo siguiente:


// Set the app-level opt out preference.
[[GAI sharedInstance].setOptOut = YES];

Pruebas y depuración

El SDK de Google Analytics para iOS proporciona un modo de depuración que imprimirá información útil sobre los datos que se envían a Google Analytics en tus registros.

// Enable debug mode.
[GAI sharedInstance].debug = YES;