במדריך הזה מוסבר איך ליצור אפליקציה ל-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.
- לוחצים על קובץ > חדש > קובץ.
- בקטע 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 להגדרות build:
- ב-Xcode, לוחצים על הפרויקט שלכם.
- לוחצים על הגדרות 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 בשם צפייה במסך.
- מוסיפים קוד מעקב אחר מסך.
a. יצירת משתנה לאחסון המזהה לצורכי מעקב
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט שמימין, לוחצים על משתנים.
- בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
- לוחצים על Untitled Variable כדי להזין את שם המשתנה Tracking ID (מזהה לצורכי מעקב).
- בוחרים באפשרות קבוע בתור סוג המשתנה.
- מזינים את המזהה לצורכי מעקב (בצורה של
UA-XXXXXXXX-X
, כאשרX
הוא ספרה) כערך של המשתנה.שימוש ב-UA-47605289-5
(למחיקה). - לוחצים על Create Variable (יצירת משתנה).
b. יוצרים משתנה של שכבת נתונים בשם screenName
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט שמימין, לוחצים על משתנים.
- בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
- לוחצים על ללא שם משתנה כדי להזין את השם שם המסך.
- בוחרים באפשרות Data Layer Variable (משתנה של שכבת נתונים) בתור סוג המשתנה.
- מזינים screenName בתור שם המשתנה של שכבת הנתונים.
- לוחצים על הגדרת ערך ברירת מחדל.
- מזינים את ערך ברירת המחדל מסך לא ידוע.
- לוחצים על Create Variable (יצירת משתנה).
ג. יצירת תג GTM עם הכותרת 'צפייה במסך'
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט שמימין, לוחצים על Tags (תגים).
- לוחצים על New (חדש).
- לוחצים על תג ללא שם כדי להזין את שם התג צפייה במסך.
- בוחרים את המוצר Google Analytics.
- בוחרים מהרשימה מזהה לצורכי מעקב.
- בוחרים באפשרות צפייה באפליקציה בתור סוג המעקב.
- לוחצים על הגדרות נוספות.
- לוחצים על שדות להגדרה.
- לוחצים על + הוספת שדה.
- בוחרים את שם השדה screenName ואת הערך שלו Screen Name.
- לוחצים על המשך.
- בקטע Fire On, בוחרים באפשרות Any Event.
- לוחצים על יצירת תג.
ד. הוספת קוד מעקב אחר מסך
- פתיחת הקובץ
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 עם הכותרת הלחצן לחוץ.
- יוצרים לחצן ומוסיפים קוד כדי לעקוב אחרי הלחיצה על הלחצן.
a. יצירת משתנה של שכבת נתונים בשם eventAction
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט שמימין, לוחצים על משתנים.
- בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
- לוחצים על ללא שם משתנה כדי להזין את השם פעולת אירוע.
- בוחרים באפשרות Data Layer Variable (משתנה של שכבת נתונים) בתור סוג המשתנה.
- מזינים eventAction בתור שם המשתנה של שכבת הנתונים.
- לוחצים על הגדרת ערך ברירת מחדל.
- מזינים את ערך ברירת המחדל אירוע לא ידוע.
- לוחצים על Create Variable (יצירת משתנה).
b. יוצרים משתנה מותאם אישית של אירוע בשם 'אירוע'
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט שמימין, לוחצים על משתנים.
- בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
- לוחצים על משתנה ללא שם כדי להזין את שם המשתנה אירוע.
- בוחרים את סוג המשתנה אירוע מותאם אישית.
- לוחצים על Create Variable (יצירת משתנה).
ג. יצירת תג GTM עם הכותרת ל'לחיצה על לחצן'
- נכנסים לחשבון Google Tag Manager.
- בוחרים מאגר לניידים.
- בסרגל הניווט שמימין, לוחצים על Tags (תגים).
- לוחצים על New (חדש).
- לוחצים על Untitled Tag כדי להזין את שם התג לחיצת כפתור.
- בוחרים את המוצר Google Analytics.
- בוחרים מהרשימה מזהה לצורכי מעקב.
- בוחרים באפשרות אירוע בתור סוג המעקב.
- בוחרים בקטגוריה אירוע.
- בוחרים באפשרות פעולת אירוע.
- לוחצים על המשך.
- בקטע Fire On, בוחרים באפשרות Any Event.
- לוחצים על יצירת תג.
ד. יצירת לחצן והוספת קוד כדי לעקוב אחרי הלחיצה על הלחצן
- פותחים את פרויקט Xcode.
- פתיחת
Main.storyboard
. - צריך ללחוץ על הלחצן השמאלי העליון בסרגל הכלים של Xcode כדי לפתוח את אזור השירות (סרגל הצד השמאלי).
- בתחתית אזור תשתיות,
לוחצים על הלחצן Show the Object library (הצגת ספריית האובייקטים) (הלחצן הכחול):
- מזינים button בתיבת החיפוש.
- גוררים את הלחצן אל הסטוריבורד ומשחררים אותו בפינה הימנית העליונה.
- לוחצים על לחצן העורך של Assistant בסרגל הכלים של Xcode.
- לוחצים לחיצה ארוכה על מקש Ctrl, גוררים את הלחצן ומשחררים אותו לתחתית הגדרת הכיתה
ViewController
.
- בתיבת הדו-שיח, בוחרים באפשרות 'חיבור פעולה', מזינים את שם הפונקציה buttonPressed ולוחצים על Connect.
הפעולה הזו מוסיפה את הפונקציה הבאה בסוף הגדרת המחלקה
ViewController
:@IBAction func buttonPressed(sender: AnyObject) { }
הפונקציה מופעלת בכל פעם שלוחצים על הלחצן.
- בפונקציה
buttonPressed
צריך להוסיף את הקוד הבא כדי לדחוף את האירועButtonPressed
לשכבת היום:@IBAction func buttonPressed(sender: AnyObject) { dataLayer.push(["event": "ButtonPressed", "eventAction": "Test Event"]) }
8. פיתוח והרצה של אפליקציה
ב-Xcode, לוחצים על מוצר > הפעלה. Xcode ייצור ויפעיל את האפליקציה: