Erweiterte Konfiguration – iOS SDK

Dieses Dokument bietet einen Überblick über einige der erweiterten Konfigurationsfunktionen des Google Analytics SDK für iOS Version 2.

Überblick

Das Google Analytics SDK für iOS verwendet zwei Klassen, um den globalen Status der Implementierung zu verwalten und Daten an die Google Analytics-Server zu senden.

  • GAI: Ein Singleton-Element, das den globalen Status der Implementierung verarbeitet. Dazu gehören der Abruf neuer GAITracker-Objekte sowie die Deaktivierungs- und Weiterleitungseinstellungen auf App-Ebene.
  • GAITracker: Die Klasse, von der Sie Daten an Google Analytics senden. Es können mehrere Tracker pro eindeutiger Property-ID instanziiert werden.

Mehrere Tracker verwenden

Ab Version 2 des SDKs können Sie mehrere Tracker in einer Implementierung verwenden – einen pro eindeutiger Tracking-ID. Alle Tracker haben den gleichen globalen Status wie dein GAI-Singleton.

Im folgenden Beispiel wird ein Bildschirmaufruf an zwei separate Properties gesendet. Dazu werden zwei Tracker mit jeweils einer eigenen eindeutigen Property-ID verwendet:

#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

Bei automatischen Messfunktionen wie der automatischen Filterung und der Messung nicht abgefangener Ausnahmen wird nur ein Tracker verwendet, um Daten an Google Analytics zu senden. Wenn du diese Funktionen verwendest und Daten mit anderen Trackern senden möchtest, musst du dies manuell tun.

Bei der automatischen Bildschirmmessung wird als Referenz der Tracker verwendet, der in der Eigenschaft tracker eines bestimmten GAITrackedViewController angegeben ist. Die Messung einer nicht abgefangenen Ausnahme verwendet den in der GAI-Instanz angegebenen Standardtracker.

Standardtracker

Obwohl eine Implementierung mehrere Tracker verwenden kann, hat sie weltweit einen Standard-Tracker. Der erste abgerufene Tracker wird zum Standardtracker.

So kannst du den Standard-Tracker abrufen:

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

So legst du den Standard-Tracker fest:

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

Probenahme

Sie können die clientseitige Stichprobenerhebung aktivieren, um die Anzahl der Treffer zu begrenzen, die an Google Analytics gesendet werden. Wenn Ihre Anwendung eine große Anzahl von Nutzern hat oder anderweitig ein großes Datenvolumen an Google Analytics sendet, können Sie durch Aktivieren der Stichprobenerhebung eine unterbrechungsfreie Berichterstellung gewährleisten.

Wenn Sie beispielsweise die clientseitige Stichprobennahme mit einer Rate von 50 % implementieren möchten, verwenden Sie den folgenden Code:

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

Deaktivierung auf App-Ebene

Sie können ein Deaktivierungs-Flag auf App-Ebene aktivieren, das Google Analytics für die gesamte App deaktiviert. Das Flag bleibt so lange bestehen, bis die App verwendet wird oder bis sie zurückgesetzt wird.

So rufen Sie die Deaktivierungseinstellung auf App-Ebene ab:

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

So legen Sie das Flag für die Deaktivierung auf App-Ebene fest:


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

Testen und Fehler beheben

Das Google Analytics SDK für iOS bietet einen Debug-Modus, in dem nützliche Informationen zu den Daten in Ihren Logs ausgegeben werden, die an Google Analytics gesendet werden.

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