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

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

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

  1. פותחים את Xcode. ליצור פרויקט חדש
  2. לוחצים על יצירה של פרויקט Xcode חדש.
  3. בוחרים באפשרות אפליקציה לתצוגה יחידה. בחירת אפליקציה לתצוגה יחידה
  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 > מקור, בוחרים באפשרות קובץ כותרת.
  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 באזור העריכה.
    לוחצים על &#39;הגדרות Build&#39;
  3. בוחרים באפשרות הכול ומשולבים ומחפשים את האפשרות גישור.
    גישור לרשת החיפוש
  4. בעמודה הימנית של השורה שמכילה את Objective-C Bridging Header מזינים את הערך BridgingHeader.h.
    הוספת BridgingHeader.h של כותרת הגישור Objective-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. מוסיפים קוד מעקב אחר מסך.

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

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

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

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

ג. יצירת תג GTM עם הכותרת 'צפייה במסך'

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

ד. הוספת קוד מעקב אחר מסך

  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. יוצרים לחצן ומוסיפים קוד כדי לעקוב אחרי הלחיצה על הלחצן.

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

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

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

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

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

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

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

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

    לוחצים על הלחצן Show the Object library (הצגת ספריית האובייקטים) (הלחצן הכחול):

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

    הפעולה הזו מוסיפה את הפונקציה הבאה בסוף הגדרת המחלקה ViewController:

    @IBAction func buttonPressed(sender: AnyObject) {
    }
    

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

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

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

ב-Xcode, לוחצים על מוצר > הפעלה. Xcode ייצור ויפעיל את האפליקציה:

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