Odniesienie do klasy TAGDataLayer

Odniesienie do klasy TAGDataLayer

Opis

Warstwa danych to słownik zawierający ogólne informacje o aplikacji.

Wykorzystuje standardowy zestaw kluczy, dzięki czemu może być odczytany przez każdą osobę, która rozumie specyfikację. Stan warstwy danych jest aktualizowany przy użyciu interfejsu API. Na przykład aplikacja może zaczynać się od takiego obiektu dataLayer:

   {
     title: "Original screen title"
   }

Wraz ze zmianą stanu/danych aplikacji aplikacja może zaktualizować obiekt dataLayer, korzystając z takiego wywołania:

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

Teraz warstwa danych zawiera:

   {
     title: "New screen title"
   }

Po kolejnym wypchnięciu:

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

Obiekt dataLayer zawiera:

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

Poniższy przykład pokazuje, jak działa scalanie tablic i map. Jeśli pierwotna dataLayer zawiera:

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

Po przekazaniu:

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

Obiekt dataLayer zawiera:

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

Przeniesienia są wykonywane synchronicznie; po przekazaniu zmiany są odzwierciedlane w modelu.

Po przekazaniu klucza event do warstwy danych oceniane są reguły tagów i uruchamiane są wszystkie tagi pasujące do tego zdarzenia. Na przykład w kontenerze z tagiem, którego reguły uruchamiania wskazują, że „zdarzenie” jest równe „openScreen” po przesłaniu:

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

ten tag zostanie uruchomiony.

Publiczne funkcje członków

(void) pushValue:forKey:
 Przekazuje parę klucz/wartość do warstwy danych.
(void) push:
 Scala podany obiekt update z istniejącym modelem danych, wywołując wszystkie detektory z aktualizacją (po scaleniu).
(NSObject *)- get:
 Zwraca obiekt w modelu powiązanym z podanym kluczem.

Dokumentacja funkcji członka grupy

- (void) wartość pushValue: (NSObject *) value
Klucz forKey: (NSObject *) key

Przekazuje parę klucz/wartość do warstwy danych.

Jest to wygodna metoda, która wywołuje funkcję push:@{key: value}.

- (void) push: (NSDictionary *) aktualizacja

Scala podany obiekt update z istniejącym modelem danych, wywołując wszystkie detektory z aktualizacją (po scaleniu).

Wartości w słowniku (lub osadzonych tablicach) muszą być typu NSNull. Jeśli chcesz odzwierciedlić brakującą wartość (np. pusty indeks na liście), użyj obiektu kTAGDataLayerObjectNotPresent.

Jest to zwykle wywołanie synchroniczne. Jeśli jednak podczas wykonywania push wątku następuje kolejne wypchnięcie z tego samego wątku, drugie wypchnięcie jest asynchroniczne (drugie zostanie przekazane przed wprowadzeniem zmian w warstwie danych). Może to nastąpić z tego samego wątku, np. gdy zostanie wykonane wypchnięcie warstwy danych w odpowiedzi na uruchomienie tagu. Wszystkie aktualizacje zostaną jednak przetworzone przed zwracaniem najbardziej zewnętrznych danych push.

Jeśli update zawiera klucz event, reguły zostaną ocenione i uruchomione zostaną pasujące tagi.

Parametry:
aktualizowaćObiekt aktualizacji do przetworzenia
- (NSObject*) get: (NSString *) klucz

Zwraca obiekt w modelu powiązanym z podanym kluczem.

Jeśli klucz nie jest dostępny, zwraca nil. Jeśli atrybut key jest podany, ale NSNull zwraca wartość NSNull.

Klucz może zawierać kropki. Na przykład: klucz o wartości "a.b.c" zwraca wartość klucza „c” w słowniku z kluczem „b” w słowniku z kluczem „a” w modelu.