Die Datenschicht ist eine Karte mit allgemeinen Informationen zur Anwendung. Es verwendet einen Standardsatz von Schlüsseln, damit er von jeder Partei gelesen werden kann der die Spezifikation versteht. Der Status der Datenschicht wird über die entsprechende API aktualisiert. Eine App könnte beispielsweise mit der folgenden dataLayer beginnen:
{
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"}]
}
Push-Vorgänge erfolgen synchron. wurden Änderungen im Modell widergespiegelt.
Wenn ein event-Schlüssel an die Datenschicht gesendet wird, werden die Tag-Regeln ausgewertet und
Tags, die mit diesem Ereignis übereinstimmen, werden ausgelöst.
Beispiel: Bei einem Container mit einem Tag, dessen Auslösungsregel „Ereignis“ lautet ist gleich
„openScreen“, nach dieser Push-Übertragung:
dataLayer.push("event", "openScreen");
Feldzusammenfassung
| öffentlich Statisch letzte Objekt | OBJECT_NOT_PRESENT | Werte dieses Typs, die in einer Liste verwendet werden, führen bei der Zusammenführung zu einer dünnbesetzten Liste. ist es, als ob gab es kein Element an diesem Index. |
Public Method Summary
| Object |
get(Stringschlüssel)
|
| Statisch List<Object> |
listOf(Objekt... Objekte)
|
| Statisch Map<Object, Object> |
mapOf(Objekt... Objekte)
|
| voidm |
push(Map<Objekt, Objekt> update)
|
| voidm |
Felder
<ph type="x-smartling-placeholder"></ph> öffentlich statisch letzte Objekt OBJECT_NOT_PRESENT
Werte dieses Typs, die in einer Liste verwendet werden, führen bei der Zusammenführung zu einer dünnbesetzten Liste. ist es, als ob gab es kein Element an diesem Index.
Public Methods
<ph type="x-smartling-placeholder"></ph> öffentlich Objekt get (Zeichenfolgen-Schlüssel)
Gibt das Objekt im Modell zurück, das dem angegebenen Schlüssel zugeordnet ist. Wird der Schlüssel nicht gefunden,
null wird zurückgegeben.
Der Schlüssel kann eingebettete Punkte enthalten. Hier einige Beispiele:
Der Schlüssel "a.b.c" gibt eine Map mit dem Schlüssel "c" in einer Map zurück.
mit dem Schlüssel "b" in einer Map mit dem Schlüssel "a" im Modell.
<ph type="x-smartling-placeholder"></ph> öffentlich statisch List<Object> listOf (Objekt... Objekte)
Dienstprogrammmethode zum Erstellen einer Liste.
Mit dem folgenden Befehl wird beispielsweise eine Liste erstellt, die "object1" und
"object2":
List<Object> list = DataLayer.listOf("object1", "object2");
<ph type="x-smartling-placeholder"></ph> öffentlich Statisch Map<Object, Object> mapOf (Objekt... Objekte)
Dienstprogrammmethode zum Erstellen einer Karte. Die Parameter sollten Schlüsselpaare sein Werte.
Mit dem folgenden Code wird beispielsweise eine Zuordnung von "key1" zu "value1" erstellt
und "key2" bis "value2":
Map<Object, Object> map = DataLayer.mapOf("key1", "value1", "key2", "value2");
Löst aus
| IllegalArgumentException | wenn es eine ungerade Anzahl von Parametern gibt |
<ph type="x-smartling-placeholder"></ph> öffentlich voidm Push (Map<Objekt, Objekt> Aktualisierung)
Führt das angegebene update-Objekt mit dem vorhandenen Datenmodell zusammen und ruft dabei
alle Listener mit der Aktualisierung (nach der Zusammenführung).
Wenn Sie einen fehlenden Wert darstellen möchten (z. B. einen leeren Index in einer Liste),
Verwenden Sie das Objekt OBJECT_NOT_PRESENT.
Wenn ein anderer Thread einen Push ausführt, wird dieser Aufruf blockiert, bis dieser Thread abgeschlossen.
Dies ist normalerweise ein synchroner Aufruf. Wenn jedoch während der Ausführung des Threads erfolgt ein weiterer Push aus demselben Thread und der zweite Push erfolgt asynchron. Der zweite Push wird zurückgegeben, bevor Änderungen an der Datenschicht vorgenommen wurden. Diesen zweiten Push-Übertragungen aus demselben Thread können beispielsweise auftreten, wenn als Antwort eine Datenschicht-Push-Methode ausgelöst wird. zur Tag-Auslösung.
Wenn update den Schlüssel event enthält, werden die Regeln ausgewertet und
werden übereinstimmende Tags ausgelöst.
Parameter
| update | Das zu verarbeitende Aktualisierungsobjekt |
<ph type="x-smartling-placeholder"></ph> öffentlich voidm Push (Objekt-Schlüssel, Objekt-Wert)
Überträgt ein Schlüssel/Wert-Paar mit Daten an die Datenschicht. Dies ist nur eine einfache Methode
das push(DataLayer.mapOf(key, value)) aufruft.