TAGManager 클래스 참조

TAGManager 클래스 참조

개요

Google 태그 관리자 (GTM)의 모바일 구현 클래스입니다.

사용 예:

      TAGContainer *container =
          [[TAGManager instance] openContainerById:myContainerId];
      NSString *value = [container stringForKey:@"myKey"];
      TAGDataLayer *dataLayer =
          [[TAGManager instance] dataLayer];
      [dataLayer push:@{@"event": @"openScreen",
                        @"screenName": @"Main Page"}];

컨테이너는 매크로, 규칙 및 태그의 모음입니다. 이 계정은 GTM 애플리케이션 (http://www.google.com/tagmanager) 내에서 생성되며 컨테이너 ID가 할당됩니다. 이 API 내에서 사용되는 컨테이너 ID입니다.

TAGContainer 클래스는 매크로 이름이 지정된 매크로 값을 가져오는 메서드를 제공합니다. booleanForKey: (TAGContainer), doubleForKey: (TAGContainer), int64ForKey: (TAGContainer), stringForKey: (TAGContainer) 루틴은 컨테이너의 매크로와 연결된 규칙에 따라 값 컬렉션 매크로 이름의 현재 값을 반환합니다.

예를 들어 컨테이너에 값이 32인 'speed' 키를 가진 값 컬렉션 매크로가 있고 사용 설정 규칙이 Language 'en'이고, 값이 45인 키 'speed'가 있는 또 다른 값 컬렉션 매크로가 있고 사용 설정 규칙이 Language 'en'이 아닌 경우 다음을 호출합니다.

     [container longForKey:@"speed"]
 

는 기기의 현재 언어가 영어이면 32를 반환하고 그렇지 않으면 45를 반환합니다.

데이터 레이어는 애플리케이션에 대한 일반 정보가 포함된 지도입니다. TAGDataLayer 클래스는 데이터 영역에서 데이터를 푸시하고 가져오는 메서드를 제공합니다. event 키를 데이터 영역에 푸시하면 이 이벤트와 일치하는 태그가 실행됩니다.

컨테이너의 초기 버전이 애플리케이션과 함께 번들로 제공됩니다. 이 항목은 이름이 containerId인 번들에 리소스로 배치되어야 합니다. 여기서 containerId는 이 API 내에서 사용할 컨테이너 ID와 동일합니다. openContainerById:callback: (TAGManager)을 호출하면 컨테이너가 번들로 제공되는 규칙/태그/매크로와 함께 반환됩니다. UI에서 컨테이너를 만들고 다운로드 버튼을 사용하여 다운로드합니다.

UI에서 컨테이너를 수정하고 새 버전을 게시할 수 있습니다. 이 경우 다음에 모바일 앱이 네트워크에서 컨테이너를 새로고침할 때 (현재 12시간마다) 새 버전을 가져옵니다. get... 루틴 중 하나를 호출하면 가장 최근 규칙을 사용하여 값이 계산됩니다.

다운로드한 컨테이너는 로컬에 저장됩니다. openContainerById:callback: (TAGManager)을 호출하면 먼저 기본 컨테이너가 로드된 다음 저장된 컨테이너를 비동기식으로 로드합니다. 찾을 수 없거나 12시간이 지난 경우 네트워크에서 최신 버전을 가져오려고 시도합니다. 이러한 비동기 로드의 상태는 TAGContainerCallbackopenContainerById:callback: (TAGManager)에 전달하여 확인할 수 있습니다.

기본이 아닌 컨테이너를 사용할 수 있게 되거나 최신 컨테이너를 사용할 수 있을 때까지 차단해야 하는 경우도 있습니다. openContainerById:callback: (TAGManager)에서 콜백을 사용하거나 TAGContainerOpener를 사용하여 이를 수행할 수 있습니다.

컨테이너 작업이 끝나면 close (TAGContainer)를 호출합니다.

공개 멤버 함수

(TAGContainer *)- openContainerById:callback:
 컨테이너를 반환합니다.
(TAGContainer *)getContainerById:
 지정된 containerId에 연결된 컨테이너를 반환합니다. 컨테이너가 아직 열려 있지 않으면 nil를 반환합니다.
(BOOL) - previewWithUrl:
 입력 URL로 앱을 미리 봅니다.
(void) - 전달
 태그 (임의의 픽셀, 분석 비콘 등)에서 생성한 대기 중인 네트워크 트래픽을 전달합니다.
(void) - dispatchWith완료Handler:
 대기열에서 다음 대기 중인 네트워크 트래픽을 전달하여 요청이 전송되거나 (kTAGDispatchGood 반환) 오류가 발생한 경우 (kTAGDispatchError를 반환하면) completionHandler를 호출합니다.

정적 공개 멤버 함수

(TAGManager *)+ 인스턴스
 TAGManager 클래스의 싱글톤 인스턴스를 가져와 필요한 경우 만듭니다.

속성

ID< TAGLogger >logger
 Google 태그 관리자 SDK에 사용할 로거입니다.
TAGRefreshModerefreshMode
 Google 태그 관리자 SDK에 사용되는 새로고침 모드입니다.
TAGDataLayerdataLayer
 이벤트 및 기타 데이터를 푸시하려면 push: (TAGDataLayer) 메서드를 호출합니다.
NSTimeIntervaldispatchInterval
 이 값이 양수이면 추적 정보가 dispatchInterval초마다 자동으로 발송됩니다.

멤버 함수 문서

- (TAGContainer *) openContainerById: (NSString *) containerId
콜백을 사용합니다. (id< TAGContainerCallback >) 콜백

컨테이너를 반환합니다.

일반적으로 반환된 컨테이너는 비어 있지만 로드는 비동기식으로 진행되므로 반환된 컨테이너는 반환되기 전이나 반환된 후에 새로고침될 수 있습니다. 또는 컨테이너의 전체 기간 동안 네트워크 연결이 없는 경우와 같이 반환된 컨테이너는 새로고침되지 않을 수 있습니다.

컨테이너에 다양한 상황이 발생하면 콜백이 호출됩니다. 최소한 openContainerById:callback:은 컨테이너의 저장된 버전을 로드하려고 시도합니다. 저장된 버전이 없거나 저장된 버전이 오래된 경우 네트워크에서 로드하려고 시도합니다.

지정된 containerId에 대해 openContainerById:callback:이 두 번째로 호출되는 경우 이전에 열린 컨테이너가 이미 닫혀 있지 않은 한 nil가 반환됩니다.

매개변수:
containerId열려는 컨테이너의 ID입니다.
콜백로드 프로세스 중에 다양한 메서드가 호출될 객체입니다. 메서드는 다른 스레드에서 호출될 수 있습니다. 또한 openContainerById:callback:이 반환되기 전에 호출될 수도 있습니다.
반환:
열린 컨테이너입니다.
- (TAGContainer *) getContainerById: (NSString *) containerId

지정된 containerId에 연결된 컨테이너를 반환합니다. 컨테이너가 아직 열려 있지 않으면 nil를 반환합니다.

- (BOOL) previewWithUrl: (NSURL *) url

입력 URL로 앱을 미리 봅니다.

올바른 URL은 다음으로 시작해야 합니다.

 tagmanager.c.<app_name>://preview/p?id=

여기서 <app_name>은 애플리케이션 이름입니다.

매개변수:
url미리보기 URL입니다.
반환:
URL이 유효한 tagmanager 미리보기 URL이면 가능

TAGManager 클래스의 싱글톤 인스턴스를 가져와 필요한 경우 만듭니다.

반환:
TAGManager의 싱글톤 인스턴스입니다.
- (void) 전달

태그 (임의의 픽셀, 분석 비콘 등)에서 생성한 대기 중인 네트워크 트래픽을 전달합니다.

- (void) dispatchWith완료Handler: (TAGDispatchResult) completionHandler

대기열에서 다음 대기 중인 네트워크 트래픽을 전달하여 요청이 전송되거나 (kTAGDispatchGood 반환) 오류가 발생한 경우 (kTAGDispatchError를 반환하면) completionHandler를 호출합니다.

네트워크 연결이 없거나 전송할 데이터가 없는 경우 kTAGDispatchNoData가 반환됩니다.

nil completeHandler를 사용하여 이 메서드를 호출하는 것은 디스패치를 호출하는 것과 같습니다.

이 메서드는 iOS 7.0 이상에서 백그라운드 데이터를 가져오는 데 사용할 수 있습니다.

애플리케이션이 종료될 때 제출되지 않은 추적 정보 제출을 시작하기 위해 이 메서드를 호출하는 것이 좋습니다.


속성 문서

- (id<TAGLogger>) logger [read, write, assign]

Google 태그 관리자 SDK에 사용할 로거입니다.

기본적으로 Google 태그 관리자는 오류/경고 메시지를 기록하고 정보/디버그/상세 메시지는 무시합니다. 이 속성을 설정하여 나만의 맞춤 로거를 사용할 수 있습니다.

- (TAGRefreshMode) refreshMode [read, write, assign]

Google 태그 관리자 SDK에 사용되는 새로고침 모드입니다.

kTAGRefreshModeDefaultContainer로 설정하면 새로고침 메서드가 개발 목적으로 기본 컨테이너만 사용할 수 있습니다. 기본값은 kTAGRefreshModeStandard입니다.

- (TAGDataLayer*) dataLayer [read, assign]

이벤트 및 기타 데이터를 푸시하려면 push: (TAGDataLayer) 메서드를 호출합니다.

- (NSTimeInterval) dispatchInterval [read, write, assign]

이 값이 양수이면 추적 정보가 dispatchInterval초마다 자동으로 발송됩니다.

그렇지 않으면 dispatch를 호출하여 추적 정보를 수동으로 전송해야 합니다.

기본적으로 이 값은 '120'으로 설정되어 있으며, 이는 추적 정보가 120초마다 자동으로 전달됨을 나타냅니다.