طبقة البيانات عبارة عن خريطة تحتوي على معلومات عامة عن التطبيق. وهو يستخدم مجموعة عادية من المفاتيح حتى يتمكن أي طرف من قراءتها يفهم المواصفات. يتم تعديل حالة طبقة البيانات من خلال واجهة برمجة التطبيقات الخاصة بها. على سبيل المثال، قد يبدأ أحد التطبيقات بطبقة dataLayer التالية:
{
title: "Original screen title"
}
dataLayer.push(DataLayer.mapOf("title", "New screen title"));
{
title: "New screen title"
}
dataLayer.push(DataLayer.mapOf("xyz", 3));
{
"title": "New screen title",
"xyz": 3
}
{
"items": ["item1", null, "item2", {"a": "aValue", "b": "bValue"}]
}
dataLayer.push("items", DataLayer.listOf(null, "item6", DataLayer.OBJECT_NOT_PRESENT,
DataLayer.mapOf("a", null)));
{
"items": [null, "item6", "item2", {"a": null, "b": "bValue"}]
}
تحدث النقرات بشكل متزامن؛ بعد الدفع، تنعكس التغييرات في النموذج.
عند وضع مفتاح event في طبقة البيانات، يتم تقييم قواعد العلامات وأي
سيتم تنشيط العلامات التي تطابق هذا الحدث.
على سبيل المثال، في ما يتعلق بحاوية تحتوي على علامة تكون قاعدة تنشيطها هي "الحدث" يساوي
"openscreen"، بعد هذا الإرسال:
dataLayer.push("event", "openScreen");
ملخّص الحقول
| علنية ثابتة النِّهَائِي كائن | OBJECT_NOT_PRESENT | تؤدي القيم من هذا النوع المستخدم في إحدى القوائم إلى تباعد القائمة عند دمجها. الأمر كما لو لم يكن هناك أي عنصر في هذا الفهرس. |
ملخّص الطريقة العامة
| الكائن |
get(مفتاح السلسلة)
|
| ثابتة قائمة<Object> |
listOf(Object... كائنات)
|
| ثابتة خريطة<Object، Object> |
mapOf(كائن... كائنات)
|
| فراغ |
push(Map<Object, Object> update)
|
| فراغ |
الحقول
علنية ثابتة النِّهَائِي كائن OBJECT_NOT_PRESENT
تؤدي القيم من هذا النوع المستخدم في إحدى القوائم إلى تباعد القائمة عند دمجها. الأمر كما لو لم يكن هناك أي عنصر في هذا الفهرس.
الطرق العامة
علنية كائن الحصول على (مفتاح السلسلة)
تعرض الكائن في النموذج المرتبط بالمفتاح المحدد. إذا لم يتم العثور على المفتاح،
تم إرجاع null.
يمكن أن يشتمل المفتاح على نقاط مُضمَّنة. مثل:
يؤدي مفتاح "a.b.c" إلى إرجاع خريطة بالمفتاح "c" في الخريطة
مع المفتاح "b" في خريطة مع المفتاح "a" في النموذج.
علنية ثابتة قائمة<Object> listOf (الكائن... الكائنات)
طريقة الأداة التي تنشئ قائمة.
على سبيل المثال، يؤدي ما يلي إلى إنشاء قائمة تحتوي على "object1" و
"object2":
List<Object> list = DataLayer.listOf("object1", "object2");
علنية ثابتة خريطة<Object، Object> mapOf (الكائن... الكائنات)
طريقة الأداة التي تنشئ خريطة. يجب أن تكون المعلمات أزواج من المفاتيح القيم.
على سبيل المثال، يؤدي ما يلي إلى إنشاء خريطة تربط "key1" بـ "value1".
ومن "key2" إلى "value2":
Map<Object, Object> map = DataLayer.mapOf("key1", "value1", "key2", "value2");
الرميات
| IllegalArgumentException | ما إذا كان هناك عدد فردي من المعاملات |
علنية فراغ الإشعارات الفورية (Map<Object, Object> update)
لدمج عنصر update المحدّد في نموذج البيانات الحالي، يستدعي الأمر
أي مستمعين بالتحديث (بعد حدوث عملية الدمج).
إذا كنت تريد تمثيل قيمة مفقودة (مثل فهرس فارغ في قائمة)،
استخدِم الكائن OBJECT_NOT_PRESENT.
إذا كانت سلسلة محادثات أخرى تنفّذ عملية إرسال، سيتم حظر هذه المكالمة إلى أن منتهٍ.
وعادة ما تكون هذه مكالمة متزامنة. ومع ذلك، إذا كانت سلسلة المحادثات قيد التنفيذ، إرسال دفعة، تكون هناك دفعة أخرى من سلسلة المحادثات نفسها، وتكون هذه الدفعة الثانية غير متزامنة (سيعود الدفع الثاني قبل إجراء التغييرات على طبقة البيانات). هذه الثانية الدفع من نفس سلسلة التعليمات، على سبيل المثال، إذا تم دفع طبقة بيانات استجابة إلى تنشيط علامة.
إذا كانت السمة update تحتوي على المفتاح event، سيتم تقييم القواعد
سيتم تنشيط العلامات المطابقة.
المعلمات
| تحديث | كائن التحديث الذي ستتم معالجته |
علنية فراغ الإشعارات الفورية (مفتاح العنصر العنصر القيمة)
تدفع زوج مفتاح/قيمة من البيانات إلى طبقة البيانات. هذه مجرد طريقة ملائمة
يتصل بـ push(DataLayer.mapOf(key, value)).