DataLayer

パブリック クラス DataLayer

データレイヤは、アプリケーションに関する一般的な情報を保持するマップです。 標準の鍵セットを使用するため、どの当事者も読み取ることができます 記述する必要があります。データレイヤーの状態は API を通じて更新されます。 たとえば、アプリが次の dataLayer で始まります。

   {
     title: "Original screen title"
   }
アプリの状態やデータは変化する可能性があるため、アプリは次のような呼び出しを使用して dataLayer を更新できます。
   dataLayer.push(DataLayer.mapOf("title", "New screen title"));
データレイヤには次のものが含まれます。
   {
     title: "New screen title"
   }
別の push が行われた後:
 dataLayer.push(DataLayer.mapOf("xyz", 3));
dataLayer には以下が含まれます。
   {
     "title": "New screen title",
     "xyz": 3
   }
次の例は、配列とマップの結合の仕組みを示しています。元の dataLayer には以下が含まれます。
   {
     "items": ["item1", null, "item2", {"a": "aValue", "b": "bValue"}]
   }
このプッシュが行われると、次のようになります。
 dataLayer.push("items", DataLayer.listOf(null, "item6", DataLayer.OBJECT_NOT_PRESENT,
     DataLayer.mapOf("a", null)));
dataLayer には以下が含まれます。
   {
     "items": [null, "item6", "item2", {"a": null, "b": "bValue"}]
   }

push は同期的に行われます。push の後、変更がモデルに反映されました。

event キーがデータレイヤーにプッシュされると、タグのルールが評価され、 このイベントに一致するタグが配信されます。 たとえば、コンテナのタグ配信ルールが「イベント」であるとします。と等しい 「openScreen」、このプッシュの後:

 dataLayer.push("event", "openScreen");
タグが配信されます。

フィールドの概要

一般公開 静的 ファイナル オブジェクト OBJECT_NOT_PRESENT この型の値をリストで使用すると、結合時にリストがスパースになります。まるで そのインデックスに要素がありませんでした。

パブリック メソッドの概要

オブジェクト(object)
getString key
静的 List<Object>
listOf(Object... objects)
静的 Map<Object, Object>
mapOf(Object... objects)
無効
pushMap<Object, Object> update
無効
pushObject key, Object value

フィールド

<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 keyObject value

データの Key-Value ペアをデータレイヤーにプッシュします。これは単に便利な push(DataLayer.mapOf(key, value)) を呼び出す必要があります。