DataLayer

공개 클래스 DataLayer

데이터 레이어는 애플리케이션에 대한 일반 정보를 담고 있는 지도입니다. 표준 키 세트를 사용하므로 모든 당사자가 읽을 수 있습니다. AI 기술을 개발할 수 있습니다 데이터 영역 상태는 API를 통해 업데이트됩니다. 예를 들어 앱이 다음과 같은 dataLayer로 시작할 수 있습니다.

   {
     title: "Original screen title"
   }
앱의 상태/데이터가 변경될 수 있으므로 앱은 다음과 같은 호출로 dataLayer를 업데이트할 수 있습니다.
   dataLayer.push(DataLayer.mapOf("title", "New screen title"));
이제 데이터 레이어에 다음이 포함됩니다. <ph type="x-smartling-placeholder">
   {
     title: "New screen title"
   }
</ph> 다시 푸시가 발생한 후:
 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에는 다음이 포함됩니다. <ph type="x-smartling-placeholder">
   {
     "items": [null, "item6", "item2", {"a": null, "b": "bValue"}]
   }
</ph>

푸시는 동기식으로 실행됩니다. 변경사항이 모델에 반영되었습니다.

event 키가 데이터 영역으로 푸시되면 태그 규칙이 평가되어 이 이벤트와 일치하는 태그가 실행됩니다. 예를 들어 실행 규칙이 '이벤트'인 태그가 있는 컨테이너의 경우 다음과 같음 'openScreen'이 반환되면 다음과 같이 동작합니다.

 dataLayer.push("event", "openScreen");
알 수 있습니다.

필드 요약

공개 정적 최종 개체 OBJECT_NOT_PRESENT List에 사용되는 이 유형의 값은 병합할 때 List가 희소해집니다. 마치 해당 색인에 요소가 없습니다.

공개 메서드 요약

객체
get(문자열 )
정적 List<Object>
listOf(Object... objects)
정적 Map<객체, 객체>
mapOf(Object... objects)
void
push(Map<Object, Object> update)
void
push(객체 , 객체 )

필드

<ph type="x-smartling-placeholder"></ph> 공개 정적 최종 개체 를 통해 개인정보처리방침을 정의할 수 있습니다. OBJECT_NOT_PRESENT

List에 사용되는 이 유형의 값은 병합할 때 List가 희소해집니다. 마치 해당 색인에 요소가 없습니다.

공개 메서드

<ph type="x-smartling-placeholder"></ph> 공개 개체 를 통해 개인정보처리방침을 정의할 수 있습니다. 받기 (문자열 )

지정된 키와 연결된 모델의 객체를 반환합니다. 키를 찾을 수 없는 경우 null가 반환됩니다.

키에는 마침표를 포함할 수 있습니다. 예를 들면 다음과 같습니다. "a.b.c"의 키는 지도에서 "c" 키가 있는 지도를 반환합니다. 모델에서 "a" 키가 있는 맵에서 "b" 키가 있는 지도

<ph type="x-smartling-placeholder"></ph> 공개 정적 List<Object> 를 통해 개인정보처리방침을 정의할 수 있습니다. listOf (객체... 객체)

목록을 만드는 유틸리티 메서드입니다.

예를 들어 다음은 "object1""object2": <ph type="x-smartling-placeholder">

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

<ph type="x-smartling-placeholder"></ph> 공개 정적 Map<객체, 객체> 를 통해 개인정보처리방침을 정의할 수 있습니다. 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 객체를 기존 데이터 모델에 병합합니다. (병합이 발생한 후) 업데이트가 있는 모든 리스너

누락된 값 (예: List의 빈 색인)을 나타내려면 다음 안내를 따르세요. OBJECT_NOT_PRESENT 객체를 사용합니다.

다른 스레드가 푸시를 실행 중이라면 이 호출은 해당 스레드가 있습니다.

일반적으로 동기 호출입니다. 그러나 스레드가 실행되는 동안 동일한 스레드에서 다른 푸시가 발생한 후 두 번째 푸시가 비동기식인 경우 데이터 영역이 변경되기 전에 두 번째 푸시가 반환됩니다. 이번 두 번째 예를 들어 데이터 영역 푸시가 태그 실행에 적용됩니다.

updateevent 키가 포함되어 있으면 규칙이 평가되고 일치하는 태그가 실행됩니다.

매개변수
update 처리할 업데이트 객체를

<ph type="x-smartling-placeholder"></ph> 공개 무효 를 통해 개인정보처리방침을 정의할 수 있습니다. 푸시 (객체 , 객체 )

데이터의 키-값 쌍을 데이터 영역으로 푸시합니다. 이것은 단지 편의 메서드임 push(DataLayer.mapOf(key, value))를 호출합니다.