راهنمای شروع برای سوئیفت

این راهنما نحوه ایجاد و پیاده‌سازی یک برنامه iOS در سوئیفت را برای ردیابی رویدادهای فشار داده شده روی صفحه نمایش و دکمه‌ها با Google Tag Manager (GTM) توضیح می‌دهد.

1. یک پروژه جدید ایجاد کنید

  1. Xcode را باز کنید. یک پروژه جدید ایجاد کنید
  2. روی ایجاد پروژه جدید Xcode کلیک کنید.
  3. برنامه Single View را انتخاب کنید. برنامه تک نمایش را انتخاب کنید
  4. روی Next کلیک کنید.
  5. پروژه خود را نام ببرید و گزینه های اضافی را برای آن انتخاب کنید. نام پروژه و نام برنامه شما با نام محصول یکی خواهد بود.
    نام محصول و گزینه های دیگر را وارد کنید
  6. روی Next کلیک کنید.
  7. محل پروژه (دایرکتوری) را انتخاب کنید.
  8. روی ایجاد کلیک کنید.

2. وابستگی های گوگل تگ منیجر را نصب کنید

  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. روی File > New > File کلیک کنید.
  3. در زیر iOS > Source ، Header File را انتخاب کنید.
  4. روی Next کلیک کنید.
  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 در تنظیمات ساخت :

  1. در Xcode، روی پروژه خود کلیک کنید.
  2. در قسمت ویرایشگر روی Build Settings کلیک کنید.
    روی Build Settings کلیک کنید
  3. All and Combined را انتخاب کنید و bridge را جستجو کنید.
    پل زدن جستجو
  4. در ستون سمت راست سطر حاوی Objective-C Bridging Header ، BridgingHeader.h وارد کنید.
    BridgingHeader.h را به عنوان Objective-C Bridging Header اضافه کنید

4. یک کانتینر پیش فرض به پروژه خود اضافه کنید

قبل از افزودن یک کانتینر پیش فرض به پروژه خود، یک باینری کانتینر موبایل را دانلود کنید:

  1. به حساب Google Tag Manager خود وارد شوید.
  2. یک ظرف سیار انتخاب کنید.
  3. در نوار منو روی Versions کلیک کنید.
  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 با عنوان Screen View ایجاد کنید.
  4. کد ردیابی صفحه را اضافه کنید

آ. یک متغیر برای ذخیره شناسه ردیابی ایجاد کنید

  1. به حساب Google Tag Manager خود وارد شوید.
  2. یک ظرف سیار انتخاب کنید.
  3. در نوار پیمایش سمت چپ، روی متغیرها کلیک کنید.
  4. در قسمت متغیرهای تعریف شده توسط کاربر ، روی New کلیک کنید.
  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. در قسمت متغیرهای تعریف شده توسط کاربر ، روی New کلیک کنید.
  5. برای وارد کردن عنوان Screen Name روی Untitled Variable کلیک کنید.
  6. متغیر لایه داده را به عنوان نوع متغیر انتخاب کنید.
  7. screenName را به عنوان نام متغیر لایه داده وارد کنید.
  8. روی تنظیم مقدار پیش فرض کلیک کنید.
  9. مقدار پیش فرض صفحه ناشناخته را وارد کنید.
  10. روی Create Variable کلیک کنید.

ج یک تگ GTM با عنوان Screen View ایجاد کنید

  1. به حساب Google Tag Manager خود وارد شوید.
  2. یک ظرف سیار انتخاب کنید.
  3. در نوار پیمایش سمت چپ، روی برچسب‌ها کلیک کنید.
  4. روی New کلیک کنید.
  5. روی Untitled Tag کلیک کنید تا نام برچسب را وارد کنید Screen View .
  6. محصول Google Analytics را انتخاب کنید.
  7. شناسه پیگیری را از لیست انتخاب کنید.
  8. App View را به عنوان نوع آهنگ انتخاب کنید.
  9. تنظیمات بیشتر را کلیک کنید.
  10. روی فیلدها برای تنظیم کلیک کنید.
  11. روی + افزودن فیلد کلیک کنید.
  12. نام فیلد screenName و مقدار آن Screen Name را انتخاب کنید.
  13. روی Continue کلیک کنید.
  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. یک دکمه ایجاد کنید و کدی را برای پیگیری فشار دادن دکمه اضافه کنید.

آ. یک متغیر لایه داده با نام eventAction ایجاد کنید

  1. به حساب Google Tag Manager خود وارد شوید.
  2. یک ظرف سیار انتخاب کنید.
  3. در نوار پیمایش سمت چپ، روی متغیرها کلیک کنید.
  4. در قسمت متغیرهای تعریف شده توسط کاربر ، روی New کلیک کنید.
  5. روی Untitled Variable کلیک کنید تا عنوان Event Action را وارد کنید.
  6. متغیر لایه داده را به عنوان نوع متغیر انتخاب کنید.
  7. eventAction را به عنوان نام متغیر لایه داده وارد کنید.
  8. روی تنظیم مقدار پیش فرض کلیک کنید.
  9. مقدار پیش‌فرض رویداد ناشناخته را وارد کنید.
  10. روی Create Variable کلیک کنید.

ب یک متغیر رویداد سفارشی با نام Event ایجاد کنید

  1. به حساب Google Tag Manager خود وارد شوید.
  2. یک ظرف سیار انتخاب کنید.
  3. در نوار پیمایش سمت چپ، روی متغیرها کلیک کنید.
  4. در قسمت متغیرهای تعریف شده توسط کاربر ، روی New کلیک کنید.
  5. روی Untitled Variable کلیک کنید تا نام متغیر Event را وارد کنید.
  6. رویداد سفارشی را به عنوان نوع متغیر انتخاب کنید.
  7. روی Create Variable کلیک کنید.

ج یک تگ GTM با عنوان دکمه فشرده ایجاد کنید

  1. به حساب Google Tag Manager خود وارد شوید.
  2. یک ظرف سیار انتخاب کنید.
  3. در نوار پیمایش سمت چپ، روی برچسب‌ها کلیک کنید.
  4. روی New کلیک کنید.
  5. بر روی Untitled Tag کلیک کنید تا نام برچسب را وارد کنید. دکمه فشرده شده است .
  6. محصول Google Analytics را انتخاب کنید.
  7. شناسه پیگیری را از لیست انتخاب کنید.
  8. رویداد را به عنوان نوع آهنگ انتخاب کنید.
  9. دسته رویداد را انتخاب کنید.
  10. اقدام رویداد را انتخاب کنید.
  11. روی Continue کلیک کنید.
  12. در زیر Fire On ، Any Event را انتخاب کنید.
  13. روی ایجاد برچسب کلیک کنید.

د یک دکمه ایجاد کنید و کدی را برای پیگیری فشار دادن دکمه اضافه کنید

  1. پروژه Xcode خود را باز کنید.
  2. Main.storyboard باز کنید.
  3. روی دکمه سمت راست بالای نوار ابزار Xcode کلیک کنید تا قسمت ابزار (نوار کناری سمت راست) باز شود. تخته داستان و منطقه کاربردی
  4. در پایین قسمت ابزار،
    دکمه آبی برای باز کردن کتابخانه اشیا

    روی دکمه Show the Object library (دکمه آبی) کلیک کنید:

    پنجره بازشو کتابخانه اشیاء
  5. دکمه را در کادر جستجو وارد کنید.
    دکمه در کتابخانه اشیاء
  6. دکمه را به استوری بورد بکشید و آن را در گوشه بالا سمت چپ رها کنید.
    دکمه را به استوری بورد بکشید و رها کنید
  7. روی دکمه دستیار ویرایشگر کلیک کنید دکمه دستیار ویرایشگر در نوار ابزار Xcode.
  8. در حالی که کلید Ctrl را نگه داشته اید، دکمه را بکشید و به پایین تعریف کلاس ViewController رها کنید.
    دکمه را به تعریف کلاس ViewController بکشید و رها کنید
  9. در گفتگو، Action connection را انتخاب کنید، دکمه نام تابع را وارد کنید فشار داده شده و روی اتصال کلیک کنید.
    برای مدیریت رویدادی که دکمه فشرده شده است، کد ایجاد کنید

    این تابع زیر را به انتهای تعریف کلاس 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 برنامه را می سازد و اجرا می کند:

اسکرین شات برنامه راه اندازی شده