개요
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가 할당됩니다. 이 컨테이너 ID가 이 API 내에서 사용되는 ID입니다.
TAGContainer 클래스는 해당 매크로 이름이 지정된 매크로 값을 가져오기 위한 메서드를 제공합니다. booleanForKey: (TAGContainer), doubleForKey: (TAGContainer), int64ForKey: (TAGContainer), stringForKey: (TAGContainer) 루틴은 컨테이너의 매크로와 연결된 규칙에 따라 값 컬렉션 매크로 이름의 현재 값을 반환합니다.
예를 들어 컨테이너에 'speed' 키가 포함된 값 수집 매크로가 있는 경우 값이 32이고 사용 설정 규칙이 언어가 'en'인 경우 키 'speed'가 포함된 다른 값 수집 매크로 값이 45이고 사용 설정 규칙이 언어가 'en'이 아닌 경우 다음과 같이 호출합니다.
[container longForKey:@"speed"]
는 기기의 현재 언어가 영어인 경우 32, 그렇지 않으면 45를 반환합니다.
데이터 레이어는 애플리케이션에 대한 일반 정보를 담고 있는 지도입니다. TAGDataLayer 클래스는 데이터 영역에서 데이터를 푸시하고 검색하는 메서드를 제공합니다. 데이터 영역에 event 키를 푸시하면 이 이벤트와 일치하는 태그가 실행됩니다.
컨테이너의 초기 버전이 애플리케이션과 함께 번들로 제공됩니다. 이름이 containerId인 번들에 리소스로 배치되어야 합니다. 여기서 containerId는 이 API에서 사용할 컨테이너 ID와 동일합니다. openContainerById:callback: (TAGManager)을 호출하면 컨테이너가 번들로 포함된 규칙/태그/매크로와 함께 반환됩니다. UI에서 컨테이너를 만들고 다운로드 버튼을 사용하여 다운로드합니다.
UI에서 컨테이너를 수정하고 새 버전을 게시할 수 있습니다. 이 경우 다음에 모바일 앱이 네트워크에서 컨테이너를 새로고침할 때 (현재 12시간마다) 새 버전을 가져옵니다. get... 루틴 중 하나를 호출하면 최신 규칙을 사용하여 값이 계산됩니다.
다운로드한 컨테이너는 로컬에 저장됩니다. openContainerById:callback: (TAGManager)을 호출하면 먼저 기본 컨테이너가 로드된 다음 저장된 컨테이너가 비동기식으로 로드됩니다. 파일을 찾을 수 없거나 12시간이 지난 경우 네트워크에서 최신 버전을 검색하려고 시도합니다. TAGContainerCallback을 openContainerById:callback: (TAGManager)에 전달하여 비동기 로드의 상태를 확인할 수 있습니다.
기본이 아닌 컨테이너를 사용할 수 있게 되거나 최신 컨테이너를 사용할 수 있을 때까지 차단해야 하는 경우가 있습니다. 이렇게 하려면 openContainerById:callback: (TAGManager)의 콜백을 사용하거나 TAGContainerOpener를 사용하면 됩니다.
컨테이너 작업이 끝나면 close (TAGContainer)를 호출합니다.
를 탭합니다. 공개 멤버 함수 | |
| (TAGContainer *) | - openContainerById:callback: |
| 컨테이너를 반환합니다. | |
| (TAGContainer *) | - getContainerById: |
지정된 containerId와 연결된 컨테이너를 반환합니다. 컨테이너가 아직 열려 있지 않으면 nil를 반환합니다. | |
| (BOOL) | - previewWithUrl: |
| 입력 URL로 앱을 미리 봅니다. | |
| (무효) | - 디스패치 |
| 태그 (임의 픽셀, 분석 비콘 등)에 의해 생성된 대기 중인 네트워크 트래픽을 전달합니다. | |
| (무효) | - dispatchWithCompletionHandler: |
| 대기열에서 다음 대기 중인 네트워크 트래픽을 전달합니다. 요청이 전송되었거나 (kTAGDispatchGood 반환) 오류가 발생한 경우 (kTAGDispatchError 반환)completionHandler를 호출합니다. | |
를 탭합니다. 정적 공개 멤버 함수 | |
| (TAGManager *) | + 인스턴스 |
| TAGManager 클래스의 싱글톤 인스턴스를 가져와서 필요한 경우 만듭니다. | |
를 탭합니다. 속성 | |
| ID< TAGLogger > | 로거 |
| Google 태그 관리자 SDK에 사용할 로거입니다. | |
| TAGRefreshMode | refreshMode |
| Google 태그 관리자 SDK에 사용되는 새로고침 모드입니다. | |
| TAGDataLayer * | dataLayer |
| push: (TAGDataLayer) 메서드를 호출하여 이벤트 및 기타 데이터를 푸시합니다. | |
| NSTimeInterval | dispatchInterval |
| 이 값이 양수이면 추적 정보가 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 클래스의 싱글톤 인스턴스를 가져와서 필요한 경우 만듭니다.
- 반환:
- TAGManager의 싱글톤 인스턴스입니다.
| - (무효) 디스패치 |
태그 (임의 픽셀, 분석 비콘 등)에 의해 생성된 대기 중인 네트워크 트래픽을 전달합니다.
| - (void) dispatchWithCompletionHandler: | (TAGDispatchResult) | completionHandler |
대기열에서 다음 대기 중인 네트워크 트래픽을 전달합니다. 요청이 전송되었거나 (kTAGDispatchGood 반환) 오류가 발생한 경우 (kTAGDispatchError 반환)completionHandler를 호출합니다.
네트워크 연결이 없거나 전송할 데이터가 없는 경우 kTAGDispatchNoData가 반환됩니다.
nil completeHandler로 이 메서드를 호출하는 것은 디스패치를 호출하는 것과 같습니다.
이 메서드는 iOS 7.0 이상에서 백그라운드 데이터를 가져오는 데 사용할 수 있습니다.
제출되지 않은 추적 정보의 제출을 시작하기 위해 애플리케이션이 종료될 때 이 매개변수를 호출하는 것이 좋습니다.
속성 문서
Google 태그 관리자 SDK에 사용할 로거입니다.
기본적으로 Google 태그 관리자는 오류/경고 메시지를 기록하고 정보/디버그/상세 메시지는 무시합니다. 이 속성을 설정하여 맞춤형 로거를 사용할 수 있습니다.
- (TAGRefreshMode) refreshMode [read, write, assign] |
Google 태그 관리자 SDK에 사용되는 새로고침 모드입니다.
이를 kTAGRefreshModeDefaultContainer로 설정하면 새로고침 메서드에서 개발 목적으로 기본 컨테이너만 사용할 수 있습니다. 기본값은 kTAGRefreshModeStandard입니다.
- (TAGDataLayer*) dataLayer [read, assign] |
push: (TAGDataLayer) 메서드를 호출하여 이벤트 및 기타 데이터를 푸시합니다.
- (NSTimeInterval) dispatchInterval [read, write, assign] |
이 값이 양수이면 추적 정보가 dispatchInterval 초마다 자동으로 전달됩니다.
그렇지 않으면 디스패치를 호출하여 추적 정보를 수동으로 전송해야 합니다.
기본적으로 `120`으로 설정되어 있으며 추적 정보가 120초마다 자동으로 전달됨을 나타냅니다.