Google 태그 관리자 (GTM)의 모바일 구현입니다. 활용 예시는 다음과 같습니다.
Container container = TagManager.getInstance(context).openContainer(myContainerId); String value = container.getString("myKey"); DataLayer dataLayer = TagManager.getInstance(context).getDataLayer(); dataLayer.push(DataLayer.mapOf("event", "openScreen", "screenName", "Main Page"));컨테이너는 매크로, 태그 및 규칙의 모음입니다. 이 컨테이너는 GTM 애플리케이션 내에서 생성되며 컨테이너 ID가 할당됩니다. 이 API 내에서 사용되는 컨테이너 ID입니다.
Container
클래스는 키에 지정된 값을 가져오는 메서드를 제공합니다.
getBoolean(String)
, getDouble(String)
, getLong(String)
, getString(String)
루틴은 컨테이너와 연결된 규칙에 따라 값 컬렉션 매크로 키의 현재 값을 반환합니다.
예를 들어 컨테이너에 값이 32이고 사용 설정 규칙이 Language
인 키 speed
이 있는 값 컬렉션 매크로가 있고, 값이 45인 키 speed
를 가진 또 다른 값 컬렉션 매크로가 있고 사용 설정 규칙이 Language
가 'en'이 아닌 경우
container.getLong("speed")를 호출하면 기기의 현재 언어가 영어이면 32를 반환하고 그렇지 않으면 45를 반환합니다.
데이터 레이어는 애플리케이션에 대한 일반 정보가 포함된 지도입니다.
DataLayer
클래스는 데이터 영역에서 데이터를 푸시하고 가져오는 메서드를 제공합니다.
event
키를 데이터 영역에 푸시하면 이 이벤트와 일치하는 태그가 실행됩니다.
컨테이너의 초기 버전이 애플리케이션과 함께 번들로 제공됩니다. 이름은 tagmanager/containerId인 애셋으로 배치되어야 합니다. 여기서 containerId는 이 API 내에서 사용할 컨테이너 ID와
동일합니다. openContainer(String, Container.Callback)
를 호출하면 컨테이너가 번들 규칙/매크로와 함께 반환됩니다.
UI에서 컨테이너를 만들고 다운로드 버튼을 사용하여 다운로드합니다.
UI에서 컨테이너를 수정하고 새 버전을 게시할 수 있습니다. 이 경우 다음번에 모바일 앱이 네트워크에서 컨테이너를 새로고침할 때 (현재 12시간마다) 새 버전을 가져옵니다. get... 루틴 중 하나를 호출하면 가장 최근 규칙을 사용하여 값이 계산됩니다.
다운로드한 컨테이너는 로컬에 저장됩니다. openContainer(String, Container.Callback)
를 호출하면 먼저 기본 컨테이너를 로드한 다음 저장된 컨테이너를 비동기식으로 로드합니다. 파일이 없거나 12시간이 지난 경우에는 네트워크에서 최신 버전을 가져오려고 시도합니다.
Container.Callback
를 openContainer(String, Container.Callback)
에 전달하면 이러한 비동기 로드의 상태를 확인할 수 있습니다.
기본이 아닌 컨테이너를 사용할 수 있거나 최신 컨테이너를 사용할 수 있을 때까지 차단해야 하는 경우도 있습니다. ContainerOpener
는 도움이 되는 유틸리티 클래스입니다.
컨테이너 작업이 끝나면 close()
를 호출합니다.
중첩된 클래스 요약
인터페이스 | TagManager.Logger | 오류/경고/정보/디버그/상세 로깅을 위한 간단한 인터페이스 | |
enum | TagManager.RefreshMode | 컨테이너를 새로고침하는 모드입니다. |
공개 메서드 요약
컨테이너 |
getContainer(문자열 containerId)
|
관련 정보 | |
DataLayer | |
정적 TagManager |
getInstance(컨텍스트 컨텍스트)
|
Logger | |
TagManager.RefreshMode | |
컨테이너 | |
void | |
void |
공개 메서드
공개 컨테이너 getContainer (String containerId)
containerId
와 연결된 열린 컨테이너를 반환합니다. 컨테이너가 아직 열려 있지 않으면 null
를 반환합니다.
공개 컨텍스트 getContext ()
이 객체와 연결된 저장된 컨텍스트를 반환합니다.
공개 컨테이너 openContainer (String containerId, Container.Callback containerId)
컨테이너를 반환합니다. 컨테이너에 다양한 상황이 발생하면 콜백이 호출됩니다. 최소한 openContainer는 컨테이너의 저장된 버전을 로드하려고 시도합니다. 저장된 버전이 없거나 저장된 버전이 오래된 경우 네트워크에서 로드하려고 시도합니다.
일반적으로 반환된 컨테이너는 비어 있지만 별도의 스레드에서 로드가 발생하므로 반환된 컨테이너는 반환되기 전이나 반환된 후에 새로고침되거나 새로고침되지 않을 수 있습니다 (예: 컨테이너의 전체 기간 동안 네트워크 연결이 없는 경우).
지정된 containerId
에 대해 openContainer
를 두 번째로 호출하면 예외가 발생합니다.
매개변수
containerId | 열 컨테이너의 ID |
콜백 | 로드 프로세스 중 다양한 메서드가 호출되는 객체입니다. 메서드는 다른 스레드에서 호출될 수 있습니다. 또한 openContainer 가 반환되기 전에 호출될 수도 있습니다.
|