データレイヤは、アプリケーションに関する一般的な情報を保持するマップです。 標準の鍵セットを使用するため、どの当事者も読み取ることができます 記述する必要があります。データレイヤーの状態は API を通じて更新されます。 たとえば、アプリが次の 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"}]
}
push は同期的に行われます。push の後、変更がモデルに反映されました。
event キーがデータレイヤーにプッシュされると、タグのルールが評価され、
このイベントに一致するタグが配信されます。
たとえば、コンテナのタグ配信ルールが「イベント」であるとします。と等しい
「openScreen」、このプッシュの後:
dataLayer.push("event", "openScreen");
フィールドの概要
| 一般公開 静的 ファイナル オブジェクト | OBJECT_NOT_PRESENT | この型の値をリストで使用すると、結合時にリストがスパースになります。まるで そのインデックスに要素がありませんでした。 |
パブリック メソッドの概要
| オブジェクト(object) |
get(String key)
|
| 静的 List<Object> |
listOf(Object... objects)
|
| 静的 Map<Object, Object> |
mapOf(Object... objects)
|
| 無効 |
push(Map<Object, Object> update)
|
| 無効 |
フィールド
<ph type="x-smartling-placeholder"></ph> 一般公開 静的 ファイナル オブジェクト OBJECT_NOT_PRESENT
この型の値をリストで使用すると、結合時にリストがスパースになります。まるで そのインデックスに要素がありませんでした。
パブリック メソッド
<ph type="x-smartling-placeholder"></ph> 一般公開 オブジェクト 入手 (文字列 キー)
指定されたキーに関連付けられたモデル内のオブジェクトを返します。鍵が見つからない場合は
null が返されます。
キーにピリオドを埋め込むことができます。次に例を示します。
キー "a.b.c" は、マップ内にキー "c" を持つマップを返します。
モデルにキー "a" を持つマップにキー "b" がある。
<ph type="x-smartling-placeholder"></ph> 一般公開 静的 List<Object> listOf (オブジェクト... オブジェクト)
リストを作成するユーティリティ メソッド。
たとえば、次の例では、"object1" を含むリストと、
"object2":
List<Object> list = DataLayer.listOf("object1", "object2");
<ph type="x-smartling-placeholder"></ph> 一般公開 静的 Map<Object, Object> mapOf (オブジェクト... オブジェクト)
地図を作成するユーティリティ メソッド。パラメータはキーと値のペア 使用できます。
たとえば、次の例では、"key1" を "value1" にマッピングする地図を作成します。
"key2" を "value2" にマッピングする場合:
Map<Object, Object> map = DataLayer.mapOf("key1", "value1", "key2", "value2");
例外
| IllegalArgumentException | パラメータの数が奇数の場合 |
<ph type="x-smartling-placeholder"></ph> 一般公開 無効 プッシュ (Map<Object, Object> update)
指定された update オブジェクトを既存のデータモデルにマージし、
更新を持つすべてのリスナー(マージの実行後)。
欠損値(リストの空のインデックスなど)を表す場合は、
OBJECT_NOT_PRESENT オブジェクトを使用します。
別のスレッドが push を実行している場合、この呼び出しは、そのスレッドが呼び出されるまでブロックされます。 終了です。
これは通常、同期呼び出しです。ただし、スレッドの実行中に 同じスレッドから別の push が行われ、その 2 回目の push は非同期で行われます。 (2 回目の push では、データレイヤーに変更が加えられる前に返されます)。この 1 秒 同じスレッドからのプッシュが発生する可能性があります。たとえば、データレイヤーのプッシュが タグが配信されるだけです
update にキー event が含まれている場合、ルールが評価され、
指定したものが配信されます。
パラメータ
| update | 処理する更新オブジェクトです。 |
<ph type="x-smartling-placeholder"></ph> 一般公開 無効 プッシュ (Object key、Object value)
データの Key-Value ペアをデータレイヤーにプッシュします。これは単に便利な
push(DataLayer.mapOf(key, value)) を呼び出す必要があります。