TAGDataKatman Sınıf Referansı

TAGDataKatman Sınıf Referansı

Genel bakış

Veri katmanı, uygulama hakkında genel bilgileri içeren bir sözlüktür.

Bu özellik, standart bir anahtar grubu kullandığından teknik özellikleri anlayan herhangi bir tarafça okunabilir. Veri katmanı durumu, API'si aracılığıyla güncellenir. Örneğin, bir uygulama şu dataLayer ile başlayabilir:

   {
     title: "Original screen title"
   }

Bir uygulamanın durumu/verileri değişebileceğinden, uygulama dataLayer'ı aşağıdaki gibi bir çağrıyla güncelleyebilir:

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

Artık veri katmanı şunları içeriyor:

   {
     title: "New screen title"
   }

Başka bir aktarma sonrasında:

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

dataLayer şunları içerir:

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

Aşağıdaki örnekte, dizi ve harita birleştirmenin nasıl çalıştığı gösterilmektedir. Orijinal dataLayer şunları içeriyorsa:

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

Bu aktarma yapıldıktan sonra:

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

dataLayer şunları içerir:

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

İtme işlemleri eşzamanlı olarak gerçekleşir. Aktarma işleminden sonra değişiklikler modele yansıtılır.

Bir event anahtarı veri katmanına aktarıldığında, etiketler için kurallar değerlendirilir ve bu etkinlikle eşleşen tüm etiketler tetiklenir. Örneğin, tetikleme kuralları "event" değeri "openScreen"a eşit olan bir etikete sahip kapsayıcı verildiğinde aşağıdaki aktarma işleminden sonra:

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

bu etiket etkinleşir.

Herkese Açık Üye İşlevleri

(void) - pushValue:forKey:
 Veri katmanına bir anahtar/değer çifti aktarır.
(void) - push:
 Belirtilen update nesnesini mevcut veri modeliyle birleştirir ve güncellemeyle birlikte (birleştirme tamamlandıktan sonra) tüm işleyicileri çağırır.
(NSObject *)- get:
 Belirtilen anahtarla ilişkili modeldeki nesneyi döndürür.

Üye İşlevi Belgeleri

- (void) pushValue: (NSObject *) value
forKey: (NSObject *) anahtar

Veri katmanına bir anahtar/değer çifti aktarır.

Bu yalnızca push:@{key: value} işlevini çağıran bir kolaylık yöntemidir.

- (geçersiz) push: (NSDictionary *) güncelleme

Belirtilen update nesnesini mevcut veri modeliyle birleştirir ve güncellemeyle birlikte (birleştirme tamamlandıktan sonra) tüm işleyicileri çağırır.

Sözlükte (veya yerleştirilmiş dizilerdeki) değerlerin NSNull türünde olması gerekir. Eksik bir değeri (Listedeki boş bir dizin gibi) temsil etmek istiyorsanız kTAGDataLayerObjectNotPresent nesnesini kullanın.

Bu genellikle eşzamanlı bir çağrıdır. Bununla birlikte, iş parçacığı aktarma işlemini yürütürken aynı iş parçacığından başka bir aktarma gerçekleşirse bu ikinci aktarma eşzamansız olur (ikinci aktarma, veri katmanında değişiklik yapılmadan önce geri döner). Örneğin, bir etiketin tetiklenmesine yanıt olarak bir veri katmanı aktarımı yapılırsa aynı iş parçacığından bu ikinci aktarma gerçekleşebilir. Ancak tüm güncellemeler, en dıştaki aktarma geri gelmeden önce işlenir.

update, event anahtarını içeriyorsa kurallar değerlendirilir ve eşleşen etiketler tetiklenir.

Parametreler:
updateİşlenecek güncelleme nesnesi
- (NSObject*) get: (NSString *) anahtar

Belirtilen anahtarla ilişkili modeldeki nesneyi döndürür.

Anahtar mevcut değilse nil değerini döndürür. key mevcutsa ancak NSNull varsa NSNull değerini döndürür.

Anahtarda yerleşik noktalar olabilir. Örneğin: "a.b.c" anahtarı, sözlükte "b" anahtarını ve modelde "a" anahtarını içeren "c" anahtarının değerini döndürür.