Configuración avanzada: SDK de iOS

En este documento, se proporciona una vista previa de algunas de las funciones de configuración avanzadas 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 nuevos objetos GAITracker, así como la configuración de inhabilitación y de envío a nivel de la 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 ID de propiedad único.

Uso de 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 rastreadores comparten el mismo estado global que mantiene tu singleton GAI.

En el siguiente ejemplo, se envía una vista de pantalla a dos propiedades independientes mediante dos segmentos, 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 medición automática de pantallas y la medición de excepciones no detectadas, solo usarán una herramienta de seguimiento para enviar datos a Google Analytics. Si estás usando estas funciones y quieres enviar datos con otros rastreadores, deberás hacerlo de forma manual.

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

Monitor predeterminado

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

Para obtener el dispositivo de rastreo predeterminado, usa lo siguiente:

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

Para establecer el dispositivo de seguimiento predeterminado, 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 que se envían 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 informes sin interrupciones.

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.

Inhabilitar a nivel de la app

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 el ciclo de vida de la app o hasta que 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;