המדריך לתחילת העבודה עם Swift

במדריך הזה מוסבר איך ליצור ולהטמיע אפליקציה ל-iOS ב-Swift כדי לעקוב אחר אירועים בפתיחת מסך ובלחיצה עליהם באמצעות Google Tag Manager (GTM).

1. יצירת פרויקט חדש

  1. פותחים את Xcode. יצירת פרויקט חדש
  2. לוחצים על Create a new Xcode project.
  3. בוחרים באפשרות Single View Application. בחירת אפליקציה לתצוגה אחת
  4. לוחצים על הבא.
  5. נותנים שם לפרויקט ובוחרים אפשרויות נוספות עבורו. שם הפרויקט ושם האפליקציה יהיו זהים לשם המוצר.
    צריך להזין את שם המוצר ואפשרויות נוספות
  6. לוחצים על הבא.
  7. בוחרים מיקום (ספרייה) של הפרויקט.
  8. לוחצים על יצירה.

2. התקנה של יחסי התלות של Google Tag Manager

  1. יוצאים מ-Xcode.
  2. כדי להתקין את Cocoapods, מריצים את הפקודה הבאה בטרמינל:
    $ sudo gem install cocoapods
    
  3. עוברים לספריית הפרויקט.
  4. מריצים את הפקודה הבאה כדי ליצור קובץ בשם Podfile:
    $ pod init
    
  5. בקובץ Podfile, מבטלים את ההערה של use_frameworks! ומוסיפים את pod 'GoogleTagManager' ליעד:
  6. # Uncomment this line if you're using Swift
    use_frameworks!
    
    target 'GtmSwiftTutorial' do
      pod 'GoogleTagManager'
    end
    
  7. מריצים את הפקודה הבאה כדי להוריד ולהתקין את יחסי התלות של Google Tag Manager‏ (GTM) בפרויקט:
    $ pod install
    

    הפקודה הזו יוצרת גם את סביבת העבודה GtmSwiftTutorial.xcworkspace. מעכשיו, אפשר להשתמש במרחב העבודה הזה כדי לפתח את האפליקציה GtmSwiftTutorial.

3. הוספת כותרת גישור לספריות Objective-C

כדי ליצור קובץ כותרת מקשר:

  1. פותחים את Xcode.
  2. לוחצים על קובץ > חדש > קובץ.
  3. בקטע iOS > Source בוחרים באפשרות Header File (קובץ כותרת).
  4. לוחצים על הבא.
  5. מזינים את שם קובץ הכותרת BridgingHeader.h.
    יצירת קובץ כותרת גישור
  6. לוחצים על יצירה.
  7. מוסיפים את הצהרות ה-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:

  1. ב-Xcode, לוחצים על הפרויקט.
  2. לוחצים על Build Settings (הגדרות build) באזור העריכה.
    לוחצים על &#39;הגדרות build&#39;.
  3. בוחרים באפשרות הכול ובאפשרות שילוב ומחפשים את האפשרות גישור.
    גישור בחיפוש
  4. בעמודה השמאלית של השורה שמכילה את Objective-C Bridging Header, מזינים BridgingHeader.h.
    הוספת BridgingHeader.h ככותרת של גישור אובייקטי-C

4. הוספת מאגר תגים שמוגדר כברירת מחדל לפרויקט

לפני שמוסיפים קונטיינר ברירת מחדל לפרויקט, צריך להוריד קובץ בינארי של קונטיינר לנייד:

  1. נכנסים אל חשבון Google Tag Manager.
  2. בוחרים מאגר תגים לנייד.
  3. לוחצים על גרסאות בסרגל התפריטים.
  4. לוחצים על Actions > Download בגרסת מאגר התגים שנבחרה.
  5. שם הקובץ שהורדתם הוא מזהה המאגר, לדוגמה, GTM-PT3L9Z.

כדי להוסיף לפרויקט קובץ בינארי של קונטיינר שמוגדר כברירת מחדל:

  1. פותחים את Xcode.
  2. לוחצים על סמל Finder ב-Dock.
  3. לוחצים על התיקייה Downoloads.
  4. גוררים את קובץ הבינארי של הקונטיינר בתיקייה Downloads ומשחררים אותו בתיקיית השורש של פרויקט Xcode.
  1. ב-Xcode, פותחים את הקובץ AppDelegate.swift.
  2. מגדירים שהכיתה AppDelegate תהיה תת-כיתה של הכיתה TAGContainerOpenerNotifier:
    import UIKit
    
    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate, TAGContainerOpenerNotifier {
      // ...
    }
    

    אחרי הארכת הכיתה, תופיע הודעת השגיאה Type 'AppDelegate' does not conform to protocol 'TAGContainerOpenerNotifier'. השלב הבא יטפל בשגיאה הזו.

  3. מוסיפים את הפונקציה הבאה לתחתית הגדרת הכיתה AppDelegate:
    func containerAvailable(container: TAGContainer!) {
      container.refresh()
    }
    
  4. בפונקציה 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. מעקב אחר אירוע פתיחת המסך

כדי לעקוב אחרי אירוע של פתיחת מסך:

  1. יוצרים משתנה כדי לשמור את המזהה לצורכי מעקב.
  2. יוצרים משתנה של שכבת נתונים בשם screenName.
  3. יוצרים תג GTM בשם צפייה במסך.
  4. להוסיף קוד מעקב למסך.

א. יוצרים משתנה לאחסון מזהה המעקב

  1. נכנסים לחשבון Google Tag Manager.
  2. בוחרים מאגר תגים לנייד.
  3. בסרגל הניווט הימני לוחצים על משתנים.
  4. בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
  5. לוחצים על Untitled Variable (משתנה ללא שם), כדי להזין את שם המשתנה Tracking ID (מזהה לצורכי מעקב).
  6. בוחרים באפשרות Constant (קבוע) בתור סוג המשתנה.
  7. מזינים את מזהה המעקב (בפורמט UA-XXXXXXXX-X, כאשר X היא ספרה) בתור הערך של המשתנה.
    משתמשים ב-UA-47605289-5 (למחיקה).
  8. לוחצים על Create Variable (יצירת משתנה).

ב. יוצרים משתנה של שכבת נתונים בשם screenName

  1. נכנסים לחשבון Google Tag Manager.
  2. בוחרים מאגר נייד.
  3. בסרגל הניווט הימני לוחצים על משתנים.
  4. בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
  5. לוחצים על Untitled Variable כדי להזין את השם Screen Name.
  6. בוחרים באפשרות Data Layer Variable (משתנה של שכבת נתונים) בתור סוג המשתנה.
  7. מזינים את הערך screenName כשם משתנה של שכבת נתונים.
  8. לוחצים על הגדרת ערך ברירת מחדל.
  9. מזינים את ערך ברירת המחדל unknown screen.
  10. לוחצים על Create Variable (יצירת משתנה).

ג. יצירת תג GTM בשם 'צפייה במסך'

  1. נכנסים לחשבון Google Tag Manager.
  2. בוחרים מאגר נייד.
  3. בסרגל הניווט שמשמאל, לוחצים על Tags (תגים).
  4. לוחצים על הסמל ליצירת קובץ חדש.
  5. לוחצים על Untitled Tag (תג ללא שם) כדי להזין את שם התג Screen View (תצוגת מסך).
  6. בוחרים את המוצר Google Analytics.
  7. בוחרים באפשרות מזהה לצורכי מעקב מהרשימה.
  8. בוחרים באפשרות הצגת אפליקציה בתור סוג המעקב.
  9. לוחצים על הגדרות נוספות.
  10. לוחצים על שדות להגדרה.
  11. לוחצים על + הוספת שדה.
  12. בוחרים את שם השדה screenName ואת הערך שלו Screen Name.
  13. לוחצים על המשך.
  14. בקטע Fire On, בוחרים באפשרות Any Event.
  15. לוחצים על Create Tag.

ד. הוספת קוד מעקב למסך

  1. פותחים את הקובץ ViewController.swift ב-Xcode.
  2. מגדירים משתנה בשם dataLayer בתוך הכיתה ViewController:
    var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer
    
  3. בפונקציה 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. אירוע שנלחץ על לחצן המעקב

כדי לעקוב אחרי אירוע שלחצתם עליו:

  1. יוצרים משתנה של שכבת נתונים בשם eventAction.
  2. יוצרים משתנה אירוע בהתאמה אישית בשם Event.
  3. יוצרים תג GTM בשם לחיצה על הלחצן.
  4. יוצרים לחצן ומוסיפים קוד למעקב אחרי הלחיצה על הלחצן.

א. יוצרים משתנה של שכבת נתונים בשם eventAction

  1. נכנסים לחשבון Google Tag Manager.
  2. בוחרים מאגר תגים לנייד.
  3. בסרגל הניווט הימני לוחצים על משתנים.
  4. בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
  5. לוחצים על Untitled Variable כדי להזין את השם Event Action.
  6. בוחרים באפשרות Data Layer Variable (משתנה של שכבת נתונים) בתור סוג המשתנה.
  7. מזינים את הערך eventAction כשם משתנה של שכבת נתונים.
  8. לוחצים על הגדרת ערך ברירת מחדל.
  9. מזינים את ערך ברירת המחדל unknown event.
  10. לוחצים על Create Variable (יצירת משתנה).

ב. יצירת משתנה אירוע מותאם אישית בשם 'אירוע'

  1. נכנסים אל חשבון Google Tag Manager.
  2. בוחרים מאגר נייד.
  3. בסרגל הניווט הימני לוחצים על משתנים.
  4. בקטע משתנים בהגדרת המשתמש, לוחצים על חדש.
  5. לוחצים על שם משתנה כדי להזין את שם המשתנה Event.
  6. בוחרים באפשרות אירוע מותאם אישית בתור סוג המשתנה.
  7. לוחצים על Create Variable (יצירת משתנה).

ג. יצירה של תג GTM עם הכותרת 'לחיצה על לחצן'

  1. נכנסים לחשבון Google Tag Manager.
  2. בוחרים מאגר נייד.
  3. בסרגל הניווט שמשמאל, לוחצים על Tags (תגים).
  4. לוחצים על הסמל ליצירת קובץ חדש.
  5. לוחצים על Untitled Tag (תג ללא שם) כדי להזין את שם התג Button Pressed (לחיצה על הלחצן).
  6. בוחרים את המוצר Google Analytics.
  7. בוחרים באפשרות מזהה לצורכי מעקב מהרשימה.
  8. בוחרים באפשרות אירוע בתור סוג המעקב.
  9. בוחרים בקטגוריה אירוע.
  10. בוחרים באפשרות פעולת אירוע.
  11. לוחצים על המשך.
  12. בקטע Fire On, בוחרים באפשרות Any Event.
  13. לוחצים על Create Tag.

ד. יצירת לחצן והוספת קוד למעקב אחרי לחיצה על הלחצן

  1. פותחים את פרויקט Xcode.
  2. פתיחת Main.storyboard.
  3. לוחצים על הלחצן השמאלי העליון בסרגל הכלים של Xcode כדי לפתוח את אזור השירות (סרגל הצד השמאלי). סטוריבורד ואזור כלי עזר
  4. בחלק התחתון של אזור הכלים,
    לחצן כחול לפתיחת ספריית האובייקטים

    לוחצים על הלחצן Show the Object library (הלחצן הכחול):

    חלון קופץ של ספריית אובייקטים
  5. מקישים על הלחצן בתיבת החיפוש.
    לחצן בספריית האובייקטים
  6. גוררים את הלחצן לבורדרסטורי ומשתחררים בפינה הימנית העליונה.
    גוררים את הלחצן ומשחררים אותו בחלונית התסריט.
  7. לוחצים על הלחצן של Assistant Editor לחצן העריכה של Assistant בסרגל הכלים של Xcode.
  8. לוחצים לחיצה ארוכה על מקש Ctrl וגוררים את הלחצן, ואז מניחים אותו בתחתית הגדרת הכיתה ViewController.
    גוררים את הלחצן ושולפים אותו להגדרת הכיתה ViewController.
  9. בתיבת הדו-שיח, בוחרים באפשרות Action (פעולה), מזינים את שם הפונקציה buttonbuttoned ולוחצים על Connect.
    יצירת קוד לטיפול באירוע של לחיצה על לחצן

    הפונקציה הבאה תתווסף לסוף ההגדרה של הכיתה ViewController:

    @IBAction func buttonPressed(sender: AnyObject) {
    }
    

    הפונקציה מבוצעת בכל פעם שלוחצים על הלחצן.

  10. בפונקציה buttonPressed, מוסיפים את הקוד הבא כדי לדחוף את האירוע ButtonPressed לשכבת היום:
    @IBAction func buttonPressed(sender: AnyObject) {
      dataLayer.push(["event": "ButtonPressed", "eventAction": "Test Event"])
    }
    

8. פיתוח והרצה של האפליקציה

ב-Xcode, לוחצים על Product‏ > Run. Xcode יבנה ויפעיל את האפליקציה:

צילום מסך של האפליקציה שהושקה