TAGDataLayer-Klassenreferenz

TAGDataLayer-Klassenreferenz

Überblick

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

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

   {
     title: "Original screen title"
   }

Da sich Status und Daten einer App ändern können, kann das dataLayer-Objekt mit einem Aufruf wie dem folgenden 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 Array- und Kartenzusammenführung funktioniert. Wenn das ursprüngliche dataLayer-Objekt Folgendes enthält:

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

Nach dieser Ü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"}]}
   }

Übertragungen erfolgen synchron. Nach der Übertragung wurden Änderungen im Modell widergespiegelt.

Wenn ein event-Schlüssel an die Datenschicht gesendet wird, werden die Regeln für Tags ausgewertet und alle Tags, die mit diesem Ereignis übereinstimmen, ausgelöst. Beispiel: Bei einem Container mit einem Tag, dessen Auslösungsregeln besagten, dass „event“ dem Wert „openScreen“ entspricht, gilt nach diesem Push Folgendes:

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

wird dieses Tag ausgelöst.

Öffentliche Mitgliederfunktionen

(void) pushValue:forKey:
 Ein Schlüssel/Wert-Paar wird an die Datenschicht übergeben.
(void) push::
 Führt das angegebene update-Objekt mit dem vorhandenen Datenmodell zusammen und ruft nach der Zusammenführung alle Listener mit dem Update auf.
(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

Ein Schlüssel/Wert-Paar wird an die Datenschicht übergeben.

Dies ist nur eine unkomplizierte Methode, mit der push:@{key: value} aufgerufen wird.

- (void) push: (NSDictionary *) Aktualisieren

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

Werte im Wörterbuch (oder eingebetteten Arrays) müssen vom Typ NSNull sein. 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 Übertragung des Threads 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. Der zweite Push aus demselben Thread kann beispielsweise erfolgen, wenn eine Datenschicht als Reaktion auf die Auslösung eines Tags gesendet wird. Alle Aktualisierungen werden jedoch verarbeitet, bevor die äußerste Push-Antwort zurückgegeben wird.

Wenn update den Schlüssel event enthält, werden die Regeln ausgewertet und übereinstimmende Tags 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 der Schlüssel nicht 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 des Schlüssels „c“ im Wörterbuch mit dem Schlüssel „b“ im Wörterbuch mit dem Schlüssel „a“ im Modell zurück.