Veri Katmanı

herkese açık sınıf DataLayer

Veri katmanı, uygulama hakkında genel bilgileri içeren bir haritadır. Bu özellik, standart bir anahtar grubu kullandığından özellikleri anlayan tüm taraflarca okunabilir. 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 aşağıdaki gibi bir çağrıyla dataLayer'ı güncelleyebilir:
   dataLayer.push(DataLayer.mapOf("title", "New screen title"));
Artık veri katmanı şunları içerir:
   {
     title: "New screen title"
   }
Başka bir aktarma sonrasında:
 dataLayer.push(DataLayer.mapOf("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", null, "item2", {"a": "aValue", "b": "bValue"}]
   }
Bu aktarma yapıldıktan sonra:
 dataLayer.push("items", DataLayer.listOf(null, "item6", DataLayer.OBJECT_NOT_PRESENT,
     DataLayer.mapOf("a", null)));
dataLayer şunları içerir:
   {
     "items": [null, "item6", "item2", {"a": 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 kuralına "event" değeri "openScreen"a eşit olan bir etikete sahip kapsayıcı verildiğinde:

 dataLayer.push("event", "openScreen");
Bu etiket etkinleşir.

Alan Özeti

herkese açık statik nihai nesne OBJECT_NOT_PRESENT Bir Listede kullanılan bu tür değerler, birleştirme sırasında Listenin az olmasına neden olur. Bu durum, söz konusu dizinde hiç öğe yokmuş gibi meydana gelir.

Herkese Açık Yöntem Özeti

Nesne
get(Dize anahtarı)
statik Liste<Nesne>
listOf(Nesne... nesneler)
statik Harita<Nesne, Nesne>
mapOf(Nesne... nesneler)
void
push(Map<Object, Object> güncelleme)
void
push(Nesne anahtarı, Nesne değeri)

Alanlar

herkese açık statik nihai Nesne OBJECT_NOT_PRESENT

Bir Listede kullanılan bu tür değerler, birleştirme sırasında Listenin az olmasına neden olur. Bu durum, söz konusu dizinde hiç öğe yokmuş gibi meydana gelir.

Herkese Açık Yöntemler

herkese açık Nesne get (Dize anahtarı)

Belirtilen anahtarla ilişkili modeldeki nesneyi döndürür. Anahtar bulunmazsa null döndürülür.

Anahtarda yerleşik noktalar olabilir. Örneğin: "a.b.c" anahtarı, modelde "a" anahtarına sahip bir harita içinde "b" anahtarına sahip bir haritada "c" anahtarına sahip bir eşleme döndürür.

herkese açık statik List<Object> listOf (Nesne... nesneler)

Liste oluşturan yardımcı program yöntemi.

Örneğin, aşağıdaki işlem "object1" ve "object2" içeren bir liste oluşturur:

   List<Object> list = DataLayer.listOf("object1", "object2");
 

herkese açık statik Harita<Nesne, Nesne> mapOf (Nesne... objects)

Harita oluşturan yardımcı yöntem. Parametreler, anahtar/değer çiftleri olmalıdır.

Örneğin, aşağıda "key1" ile "value1" ve "key2" ile "value2" arasında bir eşleme oluşturulmuştur:

   Map<Object, Object> map = DataLayer.mapOf("key1", "value1", "key2", "value2");
 

Dekoratif yastıklar
IllegalArgumentException parametre sayısı tek sayıdaysa

herkese açık void push (Map<Object, Object> 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.

Eksik bir değeri (Listedeki boş bir dizin gibi) temsil etmek istiyorsanız OBJECT_NOT_PRESENT nesnesini kullanın.

Başka bir iş parçacığı aktarma yürütüyorsa bu çağrı, söz konusu iş parçacığı bitene kadar işlemi engeller.

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 etiket etkinleşmesine yanıt olarak veri katmanı aktarımı yapılırsa aynı iş parçacığından bu ikinci aktarma gerçekleşebilir.

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

Parametreler
update işlenecek güncelleme nesnesi

herkese açık void push (Nesne anahtarı, Nesne değeri)

Bir anahtar/değer çiftini veri katmanına aktarır. Bu yalnızca push(DataLayer.mapOf(key, value)) yöntemini çağıran bir kolaylık yöntemidir.