이 가이드에서는 Swift에서 iOS 앱을 만들고 구현하여 Google 태그 관리자 (GTM)로 화면 열기 및 버튼 누름 이벤트를 추적하는 방법을 설명합니다.
1. 새 프로젝트 만들기
- Xcode를 엽니다.
- 새 Xcode 프로젝트 만들기를 클릭합니다.
- 단일 뷰 애플리케이션을 선택합니다.
- 다음을 클릭합니다.
- 프로젝트 이름을 지정하고 추가 옵션을 선택합니다. 프로젝트 이름과 앱 이름은 제품 이름과 동일합니다.
- 다음을 클릭합니다.
- 프로젝트 위치 (디렉터리)를 선택합니다.
- 만들기를 클릭합니다.
2. Google 태그 관리자 종속 항목 설치하기
- Xcode를 종료합니다.
- 터미널에서 다음 명령어를 실행하여 Cocoapods를 설치합니다.
$ sudo gem install cocoapods
- 프로젝트 디렉터리로 변경합니다.
- 다음 명령어를 실행하여
Podfile
이라는 파일을 만듭니다.$ pod init
Podfile
에서use_frameworks!
의 주석 처리를 해제하고 타겟에pod 'GoogleTagManager'
를 추가합니다.- 다음 명령어를 실행하여 Google 태그 관리자 (GTM) 종속 항목을 다운로드하여 프로젝트에 설치합니다.
$ pod install
이 명령어는 작업 공간
GtmSwiftTutorial.xcworkspace
도 만듭니다. 이제 이 작업공간을 사용하여GtmSwiftTutorial
앱을 개발하세요.
# Uncomment this line if you're using Swift use_frameworks! target 'GtmSwiftTutorial' do pod 'GoogleTagManager' end
3. Objective-C 라이브러리의 브리징 헤더 추가
브리징 헤더 파일을 만들려면 다음 안내를 따르세요.
- Xcode를 엽니다.
- File > New > File을 클릭합니다.
- iOS > 소스에서 헤더 파일을 선택합니다.
- 다음을 클릭합니다.
- 헤더 파일 이름
BridgingHeader.h
을 입력합니다.
- 만들기를 클릭합니다.
- 헤더 파일에 다음
import
문을 추가합니다.#ifndef BridgingHeader_h #define BridgingHeader_h #import <GoogleTagManager/TAGManager.h> #import <GoogleTagManager/TAGContainer.h> #import <GoogleTagManager/TAGContainerOpener.h> #import <GoogleTagManager/TAGDataLayer.h> #import <GoogleTagManager/TAGLogger.h> #endif /* BridgingHeader_h */
빌드 설정에 Objective-C 브리징 헤더를 추가하는 방법:
- Xcode에서 프로젝트를 클릭합니다.
- 편집기 영역에서 Build Settings(빌드 설정)를 클릭합니다.
- 모두 및 결합됨을 선택하고 브리징을 검색합니다.
- Objective-C 브리징 헤더가 포함된 행의 오른쪽 열에
BridgingHeader.h
를 입력합니다.
4. 프로젝트에 기본 컨테이너 추가
프로젝트에 기본 컨테이너를 추가하기 전에 모바일 컨테이너 바이너리를 다운로드합니다.
- Google 태그 관리자 계정에 로그인합니다.
- 모바일 컨테이너를 선택합니다.
- 메뉴 바에서 버전을 클릭합니다.
- 선택한 컨테이너 버전에서 작업 > 다운로드를 클릭합니다.
GTM-PT3L9Z
).
프로젝트에 기본 컨테이너 바이너리를 추가하려면 다음 단계를 따르세요.
- Xcode를 엽니다.
- Dock에서 Finder 아이콘을 클릭합니다.
Downoloads
폴더를 클릭합니다.Downloads
폴더의 컨테이너 바이너리 파일을 드래그하여 Xcode 프로젝트의 루트 폴더에 놓습니다.
5. Google 태그 관리자를 앱에 연결
- Xcode에서
AppDelegate.swift
파일을 엽니다. AppDelegate
클래스에서TAGContainerOpenerNotifier
클래스를 확장하도록 합니다.import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate, TAGContainerOpenerNotifier { // ... }
클래스를 확장하면
Type 'AppDelegate' does not conform to protocol 'TAGContainerOpenerNotifier'
오류가 발생합니다. 다음 단계를 완료하면 이 오류가 수정됩니다.AppDelegate
클래스 정의 하단에 다음 함수를 추가합니다.func containerAvailable(container: TAGContainer!) { container.refresh() }
application
함수에서return true
문 앞에 다음 코드를 추가합니다.let GTM = TAGManager.instance() GTM.logger.setLogLevel(kTAGLoggerLogLevelVerbose) TAGContainerOpener.openContainerWithId("GTM-PT3L9Z", // change the container ID "GTM-PT3L9Z" to yours tagManager: GTM, openType: kTAGOpenTypePreferFresh, timeout: nil, notifier: self)
6. 화면 열기 이벤트 추적
화면 열기 이벤트를 추적하는 방법:
- 추적 ID를 저장할 변수를 만듭니다.
- screenName이라는 데이터 영역 변수를 만듭니다.
- 화면 조회수라는 제목의 GTM 태그를 만듭니다.
- 화면 추적 코드를 추가합니다.
a. 추적 ID를 저장할 변수 만들기
- Google 태그 관리자 계정에 로그인합니다.
- 모바일 컨테이너를 선택합니다.
- 왼쪽 탐색 메뉴에서 변수를 클릭합니다.
- 사용자 정의 변수 아래에 있는 새로 만들기를 클릭합니다.
- 제목 없는 변수를 클릭하여 변수 이름 추적 ID를 입력합니다.
- 변수 유형으로 상수를 선택합니다.
- 추적 ID (
UA-XXXXXXXX-X
형식, 여기서X
는 숫자)를 변수 값으로 입력합니다.UA-47605289-5
를 사용합니다 (삭제 예정). - 변수 만들기를 클릭합니다.
b. screenName이라는 데이터 영역 변수 만들기
- Google 태그 관리자 계정에 로그인합니다.
- 모바일 컨테이너를 선택합니다.
- 왼쪽 탐색 메뉴에서 변수를 클릭합니다.
- 사용자 정의 변수 아래에 있는 새로 만들기를 클릭합니다.
- 제목 없는 변수를 클릭하여 제목 스크린 이름을 입력합니다.
- 변수 유형으로 데이터 영역 변수를 선택합니다.
- 데이터 영역 변수 이름으로 screenName을 입력합니다.
- 기본값 설정을 클릭합니다.
- 기본값 unknown screen을 입력합니다.
- 변수 만들기를 클릭합니다.
c. '화면 조회'라는 GTM 태그를 만듭니다.
- Google 태그 관리자 계정에 로그인합니다.
- 모바일 컨테이너를 선택합니다.
- 왼쪽 탐색 메뉴에서 태그를 클릭합니다.
- 새로 만들기를 클릭합니다.
- Untitled Tag(이름 없는 태그)를 클릭하여 태그 이름 Screen View(화면 조회)를 입력합니다.
- 제품 Google 애널리틱스를 선택합니다.
- 목록에서 추적 ID를 선택합니다.
- 트랙 유형으로 앱 조회를 선택합니다.
- 설정 더보기를 클릭합니다.
- 설정할 필드를 클릭합니다.
- + 필드 추가를 클릭합니다.
- 필드 이름 screenName 및 값 Screen Name을 선택합니다.
- 계속을 클릭합니다.
- Fire On에서 Any Event를 선택합니다.
- 태그 만들기를 클릭합니다.
d. 화면 추적 코드 추가
- Xcode에서
ViewController.swift
파일을 엽니다. ViewController
클래스 내에dataLayer
라는 변수를 정의합니다.var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer
viewDidLoad()
함수에서OpenScreen
이벤트를 데이터 영역으로 푸시합니다.dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"])
ViewController
클래스의 정의는 다음과 같습니다.
import UIKit class ViewController: UIViewController { var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer override func viewDidLoad() { super.viewDidLoad() dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"]) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that cant be recreated } }
7. 버튼 누름 이벤트 추적
버튼을 누른 이벤트를 추적하는 방법:
- eventAction이라는 데이터 영역 변수를 만듭니다.
- 이벤트라는 맞춤 이벤트 변수를 만듭니다.
- 버튼 눌림이라는 제목의 GTM 태그를 만듭니다.
- 버튼을 만들고 버튼을 눌렀는지 추적하는 코드를 추가합니다.
a. eventAction이라는 데이터 영역 변수를 만듭니다.
- Google 태그 관리자 계정에 로그인합니다.
- 모바일 컨테이너를 선택합니다.
- 왼쪽 탐색 메뉴에서 변수를 클릭합니다.
- 사용자 정의 변수 아래에 있는 새로 만들기를 클릭합니다.
- 제목 없는 변수를 클릭하여 이벤트 액션이라는 제목을 입력합니다.
- 데이터 영역 변수를 변수 유형으로 선택합니다.
- 데이터 영역 변수 이름으로 eventAction을 입력합니다.
- 기본값 설정을 클릭합니다.
- 기본값인 unknown event를 입력합니다.
- 변수 만들기를 클릭합니다.
b. Event라는 맞춤 이벤트 변수 만들기
- Google 태그 관리자 계정에 로그인합니다.
- 모바일 컨테이너를 선택합니다.
- 왼쪽 탐색 메뉴에서 변수를 클릭합니다.
- 사용자 정의 변수 아래에 있는 새로 만들기를 클릭합니다.
- 제목 없는 변수를 클릭하여 변수 이름 이벤트를 입력합니다.
- 변수 유형으로 맞춤 이벤트를 선택합니다.
- 변수 만들기를 클릭합니다.
c. '버튼 눌림'이라는 제목의 GTM 태그를 만듭니다.
- Google 태그 관리자 계정에 로그인합니다.
- 모바일 컨테이너를 선택합니다.
- 왼쪽 탐색 메뉴에서 태그를 클릭합니다.
- 새로 만들기를 클릭합니다.
- 제목 없는 태그를 클릭하여 태그 이름 버튼 눌림을 입력합니다.
- 제품 Google 애널리틱스를 선택합니다.
- 목록에서 추적 ID를 선택합니다.
- 트랙 유형으로 이벤트를 선택합니다.
- 이벤트 카테고리를 선택합니다.
- 이벤트 작업을 선택합니다.
- 계속을 클릭합니다.
- Fire On에서 Any Event를 선택합니다.
- 태그 만들기를 클릭합니다.
d. 버튼을 만들고 버튼이 눌리면 이를 추적하는 코드 추가
- Xcode 프로젝트를 엽니다.
Main.storyboard
를 엽니다.- Xcode 툴바에서 가장 오른쪽 상단 버튼을 클릭하여 유틸리티 영역 (오른쪽 사이드바)을 엽니다.
- 유틸리티 영역 하단에서
Show the Object library(객체 라이브러리 표시) 버튼(파란색 버튼)을 클릭합니다.
- 검색창에 button을 입력합니다.
- Button을 스토리보드로 드래그하여 왼쪽 상단에 드롭합니다.
- Xcode 툴바에서 어시스턴트 편집기 버튼 을 클릭합니다.
- Ctrl 키를 누른 상태에서 버튼을 드래그하여
ViewController
클래스 정의의 하단으로 이동합니다.
- 대화상자에서 작업 연결을 선택하고 함수 이름 buttonPressed를 입력한 다음 연결을 클릭합니다.
이렇게 하면
ViewController
클래스 정의 끝에 다음 함수가 추가됩니다.@IBAction func buttonPressed(sender: AnyObject) { }
버튼을 누를 때마다 함수가 실행됩니다.
buttonPressed
함수에서 다음 코드를 추가하여ButtonPressed
이벤트를 일 레이어에 푸시합니다.@IBAction func buttonPressed(sender: AnyObject) { dataLayer.push(["event": "ButtonPressed", "eventAction": "Test Event"]) }
8. 앱 빌드 및 실행
Xcode에서 Product(제품) > Run(실행)을 클릭합니다. Xcode에서 앱을 빌드하고 실행합니다.