DataLayer

kelas publik DataLayer

Lapisan data adalah peta yang menyimpan informasi umum tentang aplikasi. Kunci ini menggunakan serangkaian kunci standar sehingga dapat dibaca oleh pihak mana pun yang memahami spesifikasi. Status lapisan data diperbarui melalui API-nya. Misalnya, aplikasi dapat dimulai dengan dataLayer berikut:

   {
     title: "Original screen title"
   }
Karena status/data aplikasi dapat berubah, aplikasi dapat memperbarui dataLayer dengan panggilan seperti:
   dataLayer.push(DataLayer.mapOf("title", "New screen title"));
Sekarang lapisan data berisi:
   {
     title: "New screen title"
   }
Setelah push lainnya terjadi:
 dataLayer.push(DataLayer.mapOf("xyz", 3));
dataLayer berisi:
   {
     "title": "New screen title",
     "xyz": 3
   }
Contoh berikut menunjukkan cara kerja penggabungan array dan peta. Jika data asli dataLayer berisi:
   {
     "items": ["item1", null, "item2", {"a": "aValue", "b": "bValue"}]
   }
Setelah push ini terjadi:
 dataLayer.push("items", DataLayer.listOf(null, "item6", DataLayer.OBJECT_NOT_PRESENT,
     DataLayer.mapOf("a", null)));
dataLayer berisi:
   {
     "items": [null, "item6", "item2", {"a": null, "b": "bValue"}]
   }

Dorongan terjadi secara sinkron; setelah push, perubahan telah tercermin dalam model.

Saat kunci event didorong ke lapisan data, aturan untuk tag akan dievaluasi dan setiap tag yang cocok dengan peristiwa ini akan diaktifkan. Misalnya, dengan penampung dengan tag yang aturan pengaktifannya adalah "peristiwa" sama dengan "openScreen", setelah push ini:

 dataLayer.push("event", "openScreen");
tag tersebut akan diaktifkan.

Ringkasan Kolom

publik statis final Objek OBJECT_NOT_PRESENT Nilai jenis ini digunakan dalam Daftar menyebabkan Daftar menjadi sparse saat digabungkan; seolah-olah tidak ada elemen pada indeks itu.

Ringkasan Metode Publik

Objek
get(kunci string)
statis Daftar<Object>
listOf(Objek... objek)
statis Peta<Objek, Objek>
mapOf(Objek... objek)
void
push(Map<Object, Object> update)
void
push(Kunci objek, Nilai objek)

Kolom

publik statis final Objek OBJECT_NOT_PRESENT

Nilai jenis ini digunakan dalam Daftar menyebabkan Daftar menjadi sparse saat digabungkan; seolah-olah tidak ada elemen pada indeks itu.

Metode Publik

publik Objek dapatkan (Kunci string)

Menampilkan objek dalam model yang terkait dengan kunci yang diberikan. Jika kuncinya tidak ditemukan, null ditampilkan.

Kunci dapat memiliki titik yang disematkan. Contoh: kunci "a.b.c" menampilkan peta dengan kunci "c" dalam peta dengan kunci "b" dalam peta dengan kunci "a" dalam model.

publik statis Daftar<Object> listOf (Objek... objek)

Metode utilitas yang membuat daftar.

Misalnya, kode berikut membuat daftar yang berisi "object1" dan "object2":

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

publik statis Peta<Objek, Objek> mapOf (Objek... objek)

Metode utilitas yang membuat peta. Parameter harus berupa pasangan kunci masing-masing.

Misalnya, kode berikut akan membuat peta yang memetakan "key1" ke "value1" dan "key2" ke "value2":

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

Menampilkan
IllegalArgumentException jika ada parameter dalam jumlah ganjil

publik kosong push (Map<Object, Object> update)

Menggabungkan objek update yang ditentukan ke dalam model data yang ada, memanggil pemroses mana pun dengan update (setelah penggabungan terjadi).

Jika Anda ingin merepresentasikan nilai yang hilang (seperti indeks kosong dalam Daftar), menggunakan objek OBJECT_NOT_PRESENT.

Jika thread lain mengeksekusi push, panggilan ini akan diblokir hingga thread tersebut selesai.

Ini biasanya merupakan panggilan sinkron. Akan tetapi, jika ketika thread dieksekusi {i>push<i}, {i>push<i} lainnya terjadi dari thread yang sama, kemudian {i>push<i} kedua itu asinkron (push kedua akan ditampilkan sebelum perubahan dilakukan pada lapisan data). Detik ini push dari thread yang sama dapat terjadi, misalnya, jika push lapisan data dilakukan sebagai respons pada pengaktifan tag.

Jika update berisi event kunci, aturan akan dievaluasi dan tag yang cocok akan diaktifkan.

Parameter
update objek pembaruan untuk memproses

publik kosong push (Kunci objek, Nilai objek)

Mendorong pasangan nilai kunci data ke lapisan data. Ini hanyalah metode kenyamanan yang memanggil push(DataLayer.mapOf(key, value)).