TAGDataLayer 클래스 참조

TAGDataLayer 클래스 참조

개요

데이터 레이어는 애플리케이션에 대한 일반 정보가 들어 있는 사전입니다.

표준 키 세트를 사용하므로 사양을 이해하는 모든 사람이 읽을 수 있습니다. 데이터 영역 상태는 API를 통해 업데이트됩니다. 예를 들어 앱이 다음 dataLayer로 시작할 수 있습니다.

   {
     title: "Original screen title"
   }

앱의 상태/데이터가 변경될 수 있으므로 앱은 다음과 같은 호출을 사용하여 dataLayer를 업데이트할 수 있습니다.

   [dataLayer push:@{@"title": @"New screen title"}];

이제 데이터 영역에는 다음이 포함됩니다.

   {
     title: "New screen title"
   }

한 번 더 푸시한 후:

   [dataLayer push:@{@"xyz": @3}];

dataLayer에는 다음이 포함됩니다.

   {
     "title": "New screen title",
     "xyz": 3
   }

다음 예는 배열 및 지도 병합의 작동 방식을 보여줍니다. 원본 dataLayer에 다음이 포함된 경우:

   {
     "items": @[@"item1", [NSNull null], @"item2", @{@"a": @"aValue", @"b": @"bValue"}]
   }

푸시가 이루어진 후:

   [dataLayer push:@{@"items":
       @[[NSNull null], @"item6", kTAGDataLayerObjectNotPresent, @{@"a": [NSNull null]}]}

dataLayer에는 다음이 포함됩니다.

   {
     "items": @[[NSNull null], @"item6", @"item2", @{@"a": [NSNull null], @"b": @"bValue"}]}
   }

푸시는 동기식으로 발생하며, 푸시 후에는 변경사항이 모델에 반영됩니다.

event 키가 데이터 영역으로 푸시되면 태그의 규칙이 평가되고 이 이벤트와 일치하는 모든 태그가 실행됩니다. 예를 들어, 실행 규칙이 'event'인 태그가 'openScreen'과 같은 태그를 가진 컨테이너가 있다고 가정해 보겠습니다.

   [dataLayer push:@{@"event", @"openScreen"}];

해당 태그가 실행됩니다

공개 멤버 함수

(void) - pushValue:forKey:
 키-값 쌍을 데이터 영역으로 푸시합니다.
(void) - push:
 지정된 update 객체를 기존 데이터 모델에 병합하여 (병합이 발생한 후) 업데이트가 있는 리스너를 호출합니다.
(NSObject *)- get:
 지정된 키와 연결된 모델의 객체를 반환합니다.

멤버 함수 문서

- (void) pushValue: (NSObject *) value
forKey: (NSObject *)

키-값 쌍을 데이터 영역으로 푸시합니다.

이는 push:@{key: value}를 호출하는 편의 메서드일 뿐입니다.

- (void) push: (NSDictionary *) 업데이트

지정된 update 객체를 기존 데이터 모델에 병합하여 (병합이 발생한 후) 업데이트가 있는 리스너를 호출합니다.

사전 (또는 삽입된 배열)의 값이 NSNull 유형일 수 있습니다. 누락된 값 (예: 목록의 빈 색인)을 나타내려면 kTAGDataLayerObjectNotPresent 객체를 사용합니다.

이는 일반적으로 동기 호출입니다. 그러나 스레드가 푸시를 실행하는 동안 같은 스레드에서 또 다른 푸시가 발생하면 두 번째 푸시는 비동기식입니다 (두 번째 푸시는 데이터 영역에 변경되기 전에 반환됩니다). 예를 들어 태그 실행에 대한 응답으로 데이터 영역 푸시가 이루어진 경우 동일한 스레드로부터의 두 번째 푸시가 발생할 수 있습니다. 그러나 모든 업데이트는 가장 바깥쪽 푸시가 반환되기 전에 처리됩니다.

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

매개변수:
update처리할 업데이트 객체
- (NSObject*) get: (NSString *)

지정된 키와 연결된 모델의 객체를 반환합니다.

키가 없으면 nil을 반환합니다. key가 있지만 NSNull이면 NSNull을 반환합니다.

키에 마침표를 삽입할 수 있습니다. 예를 들어 "a.b.c" 키는 모델 내 키 'a'가 있는 사전에 키 'b'가 있는 사전의 'c' 키 값을 반환합니다.