TAGDataKatman Sınıf Referansı

TAGDataKatman Sınıf Referansı

Genel Bakış

Veri katmanı, uygulamayla ilgili genel bilgileri içeren bir sözlüktür.

Spesifikasyonu anlayan tüm tarafların okuyabilmesi için standart bir anahtar grubu kullanır. Veri katmanı durumu, API'si aracılığıyla güncellenir. Örneğin, bir uygulama aşağıdaki dataLayer ile başlayabilir:

   {
     title: "Original screen title"
   }

Bir uygulamanın durumu/verileri değişebildiğ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çerir:

   {
     title: "New screen title"
   }

Başka bir aktarma işlemi gerçekleştikten sonra:

   [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 işleminden 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"}]}
   }

İtmeler eşzamanlı olarak gerçekleşir; aktarıldıktan sonra değişiklikler modele yansıtılır.

Veri katmanına bir event anahtarı aktarıldığında, etiket kuralları değerlendirilir ve bu etkinlikle eşleşen tüm etiketler tetiklenir. Örneğin, tetikleme kuralları "etkinlik" olan bir etikete sahip şuna eşittir: "openScreen", bu aktarımdan sonra:

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

tetikleneceğini unutmayın.

Ortak Üye İşlevleri

(geçersiz)- pushValue:forKey:
 Veri katmanına bir anahtar/değer çifti aktarır.
(geçersiz)- push:
 Belirtilen update nesnesini mevcut veri modeliyle birleştirir ve (birleştirme işlemi gerçekleştikten sonra) güncellemeyle tüm işleyicileri çağırır.
(NSNesnesi *)- al:
 Verilen anahtarla ilişkilendirilmiş modeldeki nesneyi döndürür.

Üye İşlevi Belgeleri

- (geçersiz) pushValue: (NSNesnesi *) value
forKey: (NSNesnesi *) anahtar

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

Bu, yalnızca push:@{key: value} çağrısı yapan bir kolaylık yöntemidir.

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

Belirtilen update nesnesini mevcut veri modeliyle birleştirir ve (birleştirme işlemi gerçekleştikten sonra) güncellemeyle tüm işleyicileri çağırır.

Sözlükteki (veya yerleştirilmiş Dizilerdeki) değerlerin NSNull türünde olması için geçerlidir. Eksik bir değeri (Listedeki boş bir dizin gibi) göstermek 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). Aynı iş parçacığından bu ikinci aktarma işlemi, örneğin etiketin tetiklenmesine yanıt olarak bir veri katmanı aktarımı yapılırsa gerçekleşebilir. Ancak tüm güncellemeler, en dıştaki push işlemi 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şkilendirilmiş modeldeki nesneyi döndürür.

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

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