TAGDataLayer-Klassenreferenz

Referenz zur TAGDataLayer-Klasse

Übersicht

Die Datenschicht ist ein Wörterbuch mit allgemeinen Informationen zur Anwendung.

Er verwendet einen Standardsatz von Schlüsseln, damit er von jeder Partei gelesen werden kann, die die Spezifikation versteht. Der Status der Datenschicht wird über die entsprechende API aktualisiert. Eine App könnte beispielsweise mit der folgenden dataLayer beginnen:

   {
     title: "Original screen title"
   }

Da sich der Status bzw. die Daten einer App ändern können, kann das dataLayer-Objekt folgendermaßen aktualisiert werden:

   [dataLayer push:@{@"title": @"New screen title"}];

Die Datenschicht enthält jetzt Folgendes:

   {
     title: "New screen title"
   }

Nach einem weiteren Push:

   [dataLayer push:@{@"xyz": @3}];

dataLayer enthält Folgendes:

   {
     "title": "New screen title",
     "xyz": 3
   }

Das folgende Beispiel zeigt, wie Arrays und Karten zusammengeführt werden. Wenn das ursprüngliche dataLayer-Objekt Folgendes enthält:

   {
     "items": @[@"item1", [NSNull null], @"item2", @{@"a": @"aValue", @"b": @"bValue"}]
   }

Nach der Übertragung:

   [dataLayer push:@{@"items":
       @[[NSNull null], @"item6", kTAGDataLayerObjectNotPresent, @{@"a": [NSNull null]}]}

dataLayer enthält Folgendes:

   {
     "items": @[[NSNull null], @"item6", @"item2", @{@"a": [NSNull null], @"b": @"bValue"}]}
   }

Push-Vorgänge erfolgen synchron. wurden Änderungen im Modell widergespiegelt.

Wenn ein event-Schlüssel an die Datenschicht gesendet wird, werden die Tag-Regeln ausgewertet und alle Tags, die mit diesem Ereignis übereinstimmen, werden ausgelöst. Beispiel: Wenn ein Container mit einem Tag die Auslösungsregeln ist, dass ist gleich "openScreen", nach diesem Push:

   [dataLayer push:@{@"event", @"openScreen"}];

wird dieses Tag ausgelöst.

Funktionen für öffentliche Mitglieder

(nicht zutreffend)pushValue:forKey:
 Überträgt ein Schlüssel/Wert-Paar an die Datenschicht.
(nicht zutreffend)push:
 Führt das angegebene update-Objekt mit dem vorhandenen Datenmodell zusammen und ruft alle Listener mit dem Update auf (nach der Zusammenführung).
(NSObject *)- get:
 Gibt das Objekt im Modell zurück, das dem angegebenen Schlüssel zugeordnet ist.

Dokumentation zu Mitgliederfunktionen

- (void) pushValue: (NSObject *) Wert
forKey: (NSObject *) Schlüssel

Überträgt ein Schlüssel/Wert-Paar an die Datenschicht.

Dies ist nur eine unkomplizierte Methode, die push:@{key: value} aufruft.

– (void) push: (NSDictionary *) Update

Führt das angegebene update-Objekt mit dem vorhandenen Datenmodell zusammen und ruft alle Listener mit dem Update auf (nach der Zusammenführung).

Er ist gültig, wenn Werte im Wörterbuch (oder eingebetteten Arrays) vom Typ NSNull sind. Wenn Sie einen fehlenden Wert darstellen möchten (z. B. einen leeren Index in einer Liste), verwenden Sie das Objekt kTAGDataLayerObjectNotPresent.

Dies ist normalerweise ein synchroner Aufruf. Wenn jedoch, während der Thread den Push-Vorgang ausführt, ein weiterer Push aus demselben Thread erfolgt, ist dieser zweite Push asynchron (der zweite Push wird zurückgegeben, bevor Änderungen an der Datenschicht vorgenommen wurden). Dieser zweite Push aus demselben Thread kann beispielsweise auftreten, wenn eine Datenschicht als Antwort auf die Auslösung eines Tags ausgeführt wird. Allerdings werden alle Aktualisierungen verarbeitet, bevor der äußerste Push zurückkehrt.

Wenn update den Schlüssel event enthält, werden die Regeln ausgewertet und die übereinstimmenden Tags werden ausgelöst.

Parameter:
updateDas zu verarbeitende Aktualisierungsobjekt
– (NSObject*) get: (NSString *) key

Gibt das Objekt im Modell zurück, das dem angegebenen Schlüssel zugeordnet ist.

Wenn kein Schlüssel vorhanden ist, wird nil zurückgegeben. Wenn key vorhanden ist, aber NSNull, wird NSNull zurückgegeben.

Der Schlüssel kann eingebettete Punkte enthalten. Beispiel: Der Schlüssel "a.b.c" gibt den Wert von „c“ zurück. Schlüssel im Wörterbuch mit dem Schlüssel „b“ im Wörterbuch mit dem Schlüssel „a“ im Modell an.