คู่มือนี้จะอธิบายวิธีสร้างและติดตั้งใช้งานแอป iOS ใน Swift เพื่อติดตามเหตุการณ์การเปิดหน้าจอและการกดปุ่มด้วย Google Tag Manager (GTM)
1. สร้างโปรเจ็กต์ใหม่
- เปิด Xcode
- คลิกสร้างโปรเจ็กต์ Xcode ใหม่
- เลือกแอปพลิเคชันมุมมองเดียว
- คลิกถัดไป
- ตั้งชื่อโปรเจ็กต์และเลือกตัวเลือกเพิ่มเติมสำหรับโปรเจ็กต์ ชื่อโปรเจ็กต์และชื่อแอปจะเป็นชื่อเดียวกับชื่อผลิตภัณฑ์
- คลิกถัดไป
- เลือกตำแหน่งโปรเจ็กต์ (ไดเรกทอรี)
- คลิกสร้าง
2. ติดตั้งข้อกําหนดของ Google Tag Manager
- ออกจาก Xcode
- ในเทอร์มินัล ให้เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง Cocoapods
$ sudo gem install cocoapods
- เปลี่ยนเป็นไดเรกทอรีโปรเจ็กต์
- เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างไฟล์ชื่อ
Podfile
$ pod init
- ใน
Podfile
ให้ยกเลิกการคอมเมนต์use_frameworks!
และเพิ่มpod 'GoogleTagManager'
ลงในเป้าหมาย - เรียกใช้คําสั่งต่อไปนี้เพื่อดาวน์โหลดและติดตั้งข้อกําหนดของ Google Tag Manager (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
- คลิกการตั้งค่าการสร้างในพื้นที่แก้ไข
- เลือกทั้งหมดและรวม แล้วค้นหาการบริดจ์
- ในคอลัมน์ด้านขวาของแถวที่มีส่วนหัวบริดจ์ Objective-C ให้ป้อน
BridgingHeader.h
4. เพิ่มคอนเทนเนอร์เริ่มต้นลงในโปรเจ็กต์
ก่อนเพิ่มคอนเทนเนอร์เริ่มต้นลงในโปรเจ็กต์ ให้ดาวน์โหลดไบนารีคอนเทนเนอร์สำหรับอุปกรณ์เคลื่อนที่โดยทำดังนี้
- ลงชื่อเข้าใช้บัญชี Google Tag Manager
- เลือกคอนเทนเนอร์สำหรับอุปกรณ์เคลื่อนที่
- คลิกเวอร์ชันที่แถบเมนู
- คลิกการดําเนินการ > ดาวน์โหลดในเวอร์ชันคอนเทนเนอร์ที่เลือก
GTM-PT3L9Z
วิธีเพิ่มไบนารีของคอนเทนเนอร์เริ่มต้นในโปรเจ็กต์
- เปิด Xcode
- คลิกไอคอน Finder ในแถบ Dock
- คลิกโฟลเดอร์
Downoloads
- ลากไฟล์ไบนารีของคอนเทนเนอร์ในโฟลเดอร์
Downloads
แล้ววางลงในโฟลเดอร์รูทของโปรเจ็กต์ Xcode
5. ลิงก์ Google Tag Manager กับแอป
- เปิดไฟล์
AppDelegate.swift
ใน Xcode - ให้ชั้นเรียน
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. ติดตามเหตุการณ์การเปิดหน้าจอ
วิธีติดตามเหตุการณ์การเปิดหน้าจอ
- สร้างตัวแปรเพื่อจัดเก็บรหัสติดตาม
- สร้างตัวแปรชั้นข้อมูลชื่อ screenName
- สร้างแท็ก GTM ที่มีชื่อว่า Screen View
- เพิ่มโค้ดการติดตามหน้าจอ
ก. สร้างตัวแปรเพื่อจัดเก็บรหัสติดตาม
- ลงชื่อเข้าใช้บัญชี Google Tag Manager
- เลือกคอนเทนเนอร์สำหรับอุปกรณ์เคลื่อนที่
- ในแถบนำทางด้านซ้าย คลิกตัวแปร
- ในส่วนตัวแปรที่กำหนดโดยผู้ใช้ ให้คลิกใหม่
- คลิกตัวแปรที่ไม่มีชื่อเพื่อป้อนชื่อตัวแปร รหัสติดตาม
- เลือกประเภทตัวแปรเป็นค่าคงที่
- ป้อนรหัสติดตาม (ในรูปแบบ
UA-XXXXXXXX-X
โดยที่X
คือตัวเลข) เป็นค่าของตัวแปรใช้UA-47605289-5
(เพื่อลบ) - คลิกสร้างตัวแปร
ข. สร้างตัวแปรชั้นข้อมูลชื่อ screenName
- ลงชื่อเข้าใช้บัญชี Google Tag Manager
- เลือกคอนเทนเนอร์สำหรับอุปกรณ์เคลื่อนที่
- ในแถบนำทางด้านซ้าย คลิกตัวแปร
- ในส่วนตัวแปรที่กำหนดโดยผู้ใช้ ให้คลิกใหม่
- คลิกตัวแปรที่ไม่มีชื่อเพื่อป้อนชื่อ ชื่อหน้าจอ
- เลือกตัวแปรชั้นข้อมูลเป็นประเภทตัวแปร
- ป้อน screenName เป็นชื่อตัวแปรชั้นข้อมูล
- คลิกตั้งค่าเริ่มต้น
- ป้อนค่าเริ่มต้น unknown screen
- คลิกสร้างตัวแปร
ค. สร้างแท็ก GTM ที่มีชื่อว่า "การดูหน้าจอ"
- ลงชื่อเข้าใช้บัญชี Google Tag Manager
- เลือกคอนเทนเนอร์อุปกรณ์เคลื่อนที่
- คลิกแท็กในแถบนำทางด้านซ้าย
- คลิกใหม่
- คลิกแท็กที่ไม่มีชื่อเพื่อป้อนชื่อแท็ก การดูหน้าจอ
- เลือกผลิตภัณฑ์ Google Analytics
- เลือกรหัสติดตามจากรายการ
- เลือกข้อมูลพร็อพเพอร์ตี้แอปเป็นประเภทการติดตาม
- คลิกการตั้งค่าเพิ่มเติม
- คลิกช่องที่จะต้องตั้งค่า
- คลิก + เพิ่มช่อง
- เลือกชื่อช่อง screenName และค่า Screen Name
- คลิกต่อไป
- ในส่วนเริ่มทํางานเมื่อ ให้เลือกเหตุการณ์ใดก็ได้
- คลิกสร้างแท็ก
ง. เพิ่มโค้ดการติดตามหน้าจอ
- เปิดไฟล์
ViewController.swift
ใน Xcode - กำหนดตัวแปรชื่อ
dataLayer
ภายในคลาสViewController
ดังนี้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
- สร้างตัวแปรเหตุการณ์ที่กําหนดเองชื่อ Event
- สร้างแท็ก GTM ที่มีชื่อว่า Button Pressed
- สร้างปุ่มและเพิ่มโค้ดเพื่อติดตามการกดปุ่ม
ก. สร้างตัวแปรชั้นข้อมูลชื่อ eventAction
- ลงชื่อเข้าใช้บัญชี Google Tag Manager
- เลือกคอนเทนเนอร์สำหรับอุปกรณ์เคลื่อนที่
- ในแถบนำทางด้านซ้าย คลิกตัวแปร
- ในส่วนตัวแปรที่กำหนดโดยผู้ใช้ ให้คลิกใหม่
- คลิกตัวแปรที่ไม่มีชื่อเพื่อป้อนชื่อการทํางานของเหตุการณ์
- เลือกตัวแปรชั้นข้อมูลเป็นประเภทตัวแปร
- ป้อน eventAction เป็นชื่อตัวแปรชั้นข้อมูล
- คลิกตั้งค่าเริ่มต้น
- ป้อนค่าเริ่มต้น unknown event
- คลิกสร้างตัวแปร
ข. สร้างตัวแปรเหตุการณ์ที่กําหนดเองชื่อ "เหตุการณ์"
- ลงชื่อเข้าใช้บัญชี Google Tag Manager
- เลือกคอนเทนเนอร์สำหรับอุปกรณ์เคลื่อนที่
- ในแถบนำทางด้านซ้าย คลิกตัวแปร
- ในส่วนตัวแปรที่กำหนดโดยผู้ใช้ ให้คลิกใหม่
- คลิกตัวแปรที่ไม่มีชื่อเพื่อป้อนชื่อตัวแปร Event
- เลือกเหตุการณ์ที่กําหนดเองเป็นประเภทตัวแปร
- คลิกสร้างตัวแปร
ค. สร้างแท็ก GTM ชื่อ "กดปุ่ม"
- ลงชื่อเข้าใช้บัญชี Google Tag Manager
- เลือกคอนเทนเนอร์สำหรับอุปกรณ์เคลื่อนที่
- คลิกแท็กในแถบนำทางด้านซ้าย
- คลิกใหม่
- คลิกแท็กที่ไม่มีชื่อเพื่อป้อนชื่อแท็ก กดปุ่มแล้ว
- เลือกผลิตภัณฑ์ Google Analytics
- เลือกรหัสติดตามจากรายการ
- เลือกเหตุการณ์เป็นประเภทการติดตาม
- เลือกหมวดหมู่เหตุการณ์
- เลือกการดำเนินการกับเหตุการณ์
- คลิกต่อไป
- ในส่วนเริ่มทํางานเมื่อ ให้เลือกเหตุการณ์ใดก็ได้
- คลิกสร้างแท็ก
ง. สร้างปุ่มและเพิ่มโค้ดเพื่อติดตามการกดปุ่ม
- เปิดโปรเจ็กต์ Xcode
- เปิด
Main.storyboard
- คลิกปุ่มด้านขวาบนสุดในแถบเครื่องมือ Xcode เพื่อเปิดพื้นที่ยูทิลิตี (แถบด้านข้างขวา)
- ที่ด้านล่างของพื้นที่สาธารณูปโภค
คลิกปุ่มแสดงไลบรารีออบเจ็กต์ (ปุ่มสีน้ำเงิน)
- ป้อน button ที่ช่องค้นหา
- ลาก Button ไปยังสตอรีบอร์ดแล้ววางที่มุมซ้ายบน
- คลิกปุ่มเครื่องมือแก้ไข Assistant ในแถบเครื่องมือ 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 ให้คลิกผลิตภัณฑ์ > เรียกใช้ Xcode จะสร้างและเรียกใช้แอปโดยทำดังนี้