Расширенная конфигурация — iOS SDK

В этом документе представлен обзор некоторых расширенных функций настройки Google Analytics SDK для iOS v2.

Обзор

Google Analytics SDK для iOS использует два класса для управления глобальным состоянием реализации и отправки данных на серверы Google Analytics.

  • GAI — синглтон, который обрабатывает глобальное состояние вашей реализации, включая получение новых объектов GAITracker , а также настройки отказа и настройки диспетчеризации на уровне приложения.
  • GAITracker – класс, из которого вы отправляете данные в Google Analytics. Можно создать несколько трекеров, по одному на каждый уникальный идентификатор свойства.

Использование нескольких трекеров

Начиная со второй версии SDK, вы можете использовать несколько трекеров в одной реализации, по одному на каждый уникальный идентификатор отслеживания. Все трекеры имеют одно и то же глобальное состояние, принадлежащее вашему синглтону GAI .

В следующем примере вид экрана отправляется на два отдельных ресурса с помощью двух трекеров, каждый из которых имеет свой уникальный идентификатор свойства:

#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

Имейте в виду, что функции автоматического измерения, такие как автоматический экран и измерение неперехваченных исключений, будут использовать только один трекер для отправки данных в Google Analytics. Если вы используете эти функции и хотите отправлять данные с помощью других трекеров, вам придется сделать это вручную.

Для справки, автоматическое измерение экрана использует трекер, указанный в свойстве tracker данного GAITrackedViewController . Для измерения неперехваченных исключений используется трекер по умолчанию, указанный в вашем экземпляре GAI .

Трекер по умолчанию

Хотя реализация может использовать несколько трекеров, глобально у нее есть один трекер по умолчанию. Первый полученный Tracker становится трекером по умолчанию.

Чтобы получить трекер по умолчанию, используйте:

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

Чтобы установить трекер по умолчанию, используйте:

// 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;

Выборка

Вы можете включить выборку на стороне клиента, чтобы ограничить количество обращений, отправляемых в Google Analytics. Если ваше приложение имеет большое количество пользователей или иным образом отправляет большой объем данных в Google Analytics, включение выборки поможет обеспечить бесперебойную отчетность.

Например, чтобы реализовать выборку на стороне клиента с частотой 50 %, используйте следующий код:

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

Отказ на уровне приложения

Вы можете включить флаг отказа на уровне приложения, который отключит Google Analytics во всем приложении. После установки флаг будет сохраняться на протяжении всего срока службы приложения или до тех пор, пока он не будет сброшен.

Чтобы получить настройку отказа на уровне приложения, используйте:

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

Чтобы установить флаг отказа на уровне приложения, используйте:


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

Тестирование и отладка

Google Analytics SDK для iOS предоставляет режим отладки, который выводит в ваши журналы полезную информацию о том, какие данные отправляются в Google Analytics.

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