במדריך הזה מוסבר איך ליצור ולהטמיע אפליקציה ל-iOS ב-Swift כדי לעקוב אחר אירועים בפתיחת מסך ובלחיצה עליהם באמצעות Google Tag Manager (GTM).
1. יצירת פרויקט חדש
- פותחים את Xcode.
- לוחצים על Create a new Xcode project.
- בוחרים באפשרות Single View Application.
- לוחצים על הבא.
- נותנים שם לפרויקט ובוחרים אפשרויות נוספות עבורו. שם הפרויקט ושם האפליקציה יהיו זהים לשם המוצר.
- לוחצים על הבא.
- בוחרים מיקום (ספרייה) של הפרויקט.
- לוחצים על יצירה.
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.
- לוחצים על קובץ > חדש > קובץ.
- בקטע iOS > Source בוחרים באפשרות Header File (קובץ כותרת).
- לוחצים על הבא.
- מזינים את שם קובץ הכותרת
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 להגדרות ה-build:
- ב-Xcode, לוחצים על הפרויקט.
- לוחצים על Build Settings (הגדרות build) באזור העריכה.
- בוחרים באפשרות הכול ובאפשרות שילוב ומחפשים את האפשרות גישור.
- בעמודה השמאלית של השורה שמכילה את Objective-C Bridging Header, מזינים
BridgingHeader.h
.
4. הוספת מאגר תגים שמוגדר כברירת מחדל לפרויקט
לפני שמוסיפים קונטיינר ברירת מחדל לפרויקט, צריך להוריד קובץ בינארי של קונטיינר לנייד:
- נכנסים אל חשבון Google Tag Manager.
- בוחרים מאגר תגים לנייד.
- לוחצים על גרסאות בסרגל התפריטים.
- לוחצים על Actions > Download בגרסת מאגר התגים שנבחרה.
GTM-PT3L9Z
.
כדי להוסיף לפרויקט קובץ בינארי של קונטיינר שמוגדר כברירת מחדל:
- פותחים את Xcode.
- לוחצים על סמל Finder ב-Dock.
- לוחצים על התיקייה
Downoloads
. - גוררים את קובץ הבינארי של הקונטיינר בתיקייה
Downloads
ומשחררים אותו בתיקיית השורש של פרויקט Xcode.
5. קישור Google Tag Manager לאפליקציה
- ב-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. מעקב אחר אירוע פתיחת המסך
כדי לעקוב אחרי אירוע של פתיחת מסך:
- יוצרים משתנה כדי לשמור את המזהה לצורכי מעקב.
- יוצרים משתנה של שכבת נתונים בשם screenName.
- יוצרים תג GTM בשם צפייה במסך.
- להוסיף קוד מעקב למסך.
א. יוצרים משתנה לאחסון מזהה המעקב
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר תגים לנייד.
- בסרגל הניווט הימני לוחצים על משתנים.
- בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
- לוחצים על Untitled Variable (משתנה ללא שם), כדי להזין את שם המשתנה Tracking ID (מזהה לצורכי מעקב).
- בוחרים באפשרות Constant (קבוע) בתור סוג המשתנה.
- מזינים את מזהה המעקב (בפורמט
UA-XXXXXXXX-X
, כאשרX
היא ספרה) בתור הערך של המשתנה.משתמשים ב-UA-47605289-5
(למחיקה). - לוחצים על Create Variable (יצירת משתנה).
ב. יוצרים משתנה של שכבת נתונים בשם screenName
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר נייד.
- בסרגל הניווט הימני לוחצים על משתנים.
- בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
- לוחצים על Untitled Variable כדי להזין את השם Screen Name.
- בוחרים באפשרות Data Layer Variable (משתנה של שכבת נתונים) בתור סוג המשתנה.
- מזינים את הערך screenName כשם משתנה של שכבת נתונים.
- לוחצים על הגדרת ערך ברירת מחדל.
- מזינים את ערך ברירת המחדל unknown screen.
- לוחצים על Create Variable (יצירת משתנה).
ג. יצירת תג GTM בשם 'צפייה במסך'
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר נייד.
- בסרגל הניווט שמשמאל, לוחצים על Tags (תגים).
- לוחצים על הסמל ליצירת קובץ חדש.
- לוחצים על Untitled Tag (תג ללא שם) כדי להזין את שם התג Screen View (תצוגת מסך).
- בוחרים את המוצר Google Analytics.
- בוחרים באפשרות מזהה לצורכי מעקב מהרשימה.
- בוחרים באפשרות הצגת אפליקציה בתור סוג המעקב.
- לוחצים על הגדרות נוספות.
- לוחצים על שדות להגדרה.
- לוחצים על + הוספת שדה.
- בוחרים את שם השדה screenName ואת הערך שלו Screen Name.
- לוחצים על המשך.
- בקטע Fire On, בוחרים באפשרות Any Event.
- לוחצים על Create Tag.
ד. הוספת קוד מעקב למסך
- פותחים את הקובץ
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 בשם לחיצה על הלחצן.
- יוצרים לחצן ומוסיפים קוד למעקב אחרי הלחיצה על הלחצן.
א. יוצרים משתנה של שכבת נתונים בשם eventAction
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר תגים לנייד.
- בסרגל הניווט הימני לוחצים על משתנים.
- בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
- לוחצים על Untitled Variable כדי להזין את השם Event Action.
- בוחרים באפשרות Data Layer Variable (משתנה של שכבת נתונים) בתור סוג המשתנה.
- מזינים את הערך eventAction כשם משתנה של שכבת נתונים.
- לוחצים על הגדרת ערך ברירת מחדל.
- מזינים את ערך ברירת המחדל unknown event.
- לוחצים על Create Variable (יצירת משתנה).
ב. יצירת משתנה אירוע מותאם אישית בשם 'אירוע'
- נכנסים אל חשבון Google Tag Manager.
- בוחרים מאגר נייד.
- בסרגל הניווט הימני לוחצים על משתנים.
- בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
- לוחצים על שם משתנה כדי להזין את שם המשתנה Event.
- בוחרים באפשרות אירוע מותאם אישית בתור סוג המשתנה.
- לוחצים על Create Variable (יצירת משתנה).
ג. יצירה של תג GTM עם הכותרת 'לחיצה על לחצן'
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר נייד.
- בסרגל הניווט שמשמאל, לוחצים על Tags (תגים).
- לוחצים על הסמל ליצירת קובץ חדש.
- לוחצים על Untitled Tag (תג ללא שם) כדי להזין את שם התג Button Pressed (לחיצה על הלחצן).
- בוחרים את המוצר Google Analytics.
- בוחרים באפשרות מזהה לצורכי מעקב מהרשימה.
- בוחרים באפשרות אירוע בתור סוג המעקב.
- בוחרים בקטגוריה אירוע.
- בוחרים באפשרות פעולת אירוע.
- לוחצים על המשך.
- בקטע Fire On, בוחרים באפשרות Any Event.
- לוחצים על Create Tag.
ד. יצירת לחצן והוספת קוד למעקב אחרי לחיצה על הלחצן
- פותחים את פרויקט Xcode.
- פתיחת
Main.storyboard
. - לוחצים על הלחצן השמאלי העליון בסרגל הכלים של Xcode כדי לפתוח את אזור השירות (סרגל הצד השמאלי).
- בחלק התחתון של אזור הכלים,
לוחצים על הלחצן Show the Object library (הלחצן הכחול):
- מקישים על הלחצן בתיבת החיפוש.
- גוררים את הלחצן לבורדרסטורי ומשתחררים בפינה הימנית העליונה.
- לוחצים על הלחצן של Assistant Editor בסרגל הכלים של Xcode.
- לוחצים לחיצה ארוכה על מקש Ctrl וגוררים את הלחצן, ואז מניחים אותו בתחתית הגדרת הכיתה
ViewController
.
- בתיבת הדו-שיח, בוחרים באפשרות Action (פעולה), מזינים את שם הפונקציה buttonbuttoned ולוחצים על Connect.
הפונקציה הבאה תתווסף לסוף ההגדרה של הכיתה
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 יבנה ויפעיל את האפליקציה: