Carthage에서 Google Analytics 소개

배경



Qiita에 Carthage + Google Analytics 기사가 없었기 때문에 절차를 요약했습니다

환경


  • Xcode 8.3.2
  • Swift 3.1

  • 절차



    Carthage 설치



    Carthage 설치 지침은 다른 기사를 참조하십시오
    참고: Carthage 정보

    Cartfile 편집 및 carthage update



    Cartfile 편집
    vi Cartfile
    Cartfile에 다음 설명 추가
    github "akashivskyy/GoogleAnalytics-Framework"
    carthage를 update
    carthage update --platform iOS

    Framework 추가


  • General > Linked Frameworks and Libraries에서 + 선택
  • Add Other 선택
  • Carthage > Build > iOS > GoogleAnalytics.framework 선택
  • 다음과 같이 추가되면 OK


  • Run Script 추가



    이미 Carthage가 있다면이 작업은 필요하지 않습니다.
  • BuildPhases를 열고 +를 선택
  • New Run Script Phase 선택
  • Run Script Shell에 다음 추가
  • /usr/local/bin/carthage copy-frameworks


  • Run Script의 Input Files로 설정



    다음 설정$(SRCROOT)/Carthage/Build/iOS/GoogleAnalytics.framework다음과 같이되면 OK


    구성 파일을 가져와 프로젝트에 파일 추가


  • 아래 링크 된 "구성 파일 가져 오기"버튼에서 구성 파일 만들기
  • ぇぺぺrs. 오, ぇ. 코 m/아나 ly치 cs/로 v그이로 s/こぇc 치온/이오 s/v3/?ゔぇr=수ぃft #게 t-콘후ぃg
  • BundleId, 지역 등을 입력하고 GoogleService-Info.plist 다운로드
  • 프로젝트의 루트에 파일 추가


  • 화면 추적 및 이벤트 추적 설정



    Google 애널리틱스 초기화 설정



    AppDelegate.swift
    import GoogleAnalytics
    

    AppDelegate.swift
        func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    
            // GoogleAnalyticsの設定
            if let gai = GAI.sharedInstance() {
                gai.trackUncaughtExceptions = true
    
                if let path = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist") {
                    if let propertyList = NSDictionary(contentsOfFile: path) as? [String: AnyObject] {
                        let trackingID = propertyList["TRACKING_ID"] as! String
                        gai.tracker(withTrackingId: trackingID)
                    }
                }
            }
    
            return true
        }
    

    GATrackingManager.swift 추가



    다음과 유사한 파일을 만듭니다.

    GATrackingManager.swift
    import GoogleAnalytics
    
    class GATrackingManager {
    
        //スクリーントラッキング
        class func sendScreenTracking(screenName: String) {
            if let tracker = GAI.sharedInstance().defaultTracker {
                tracker.set(kGAIScreenName, value: screenName)
                tracker.send(GAIDictionaryBuilder.createScreenView().build() as [NSObject: AnyObject])
                tracker.set(kGAIScreenName, value: nil)
            }
        }
    
        //イベントトラッキング
        class func sendEventTracking(category: String, action: String, label: String) {
            if let tracker = GAI.sharedInstance().defaultTracker {
                tracker.send(GAIDictionaryBuilder.createEvent(withCategory: category, action: action, label: label, value: nil).build() as [NSObject: AnyObject])
            }
        }
    
    }
    

    스크린 추적



    모든 ViewController
    import UIKit
    
    class ViewController:UIViewController { 
        override func viewWillAppear(_ animated: Bool) {
            super.viewWillAppear(animated)
    
            //GAスクリーントラッキング
            GATrackingManager.sendScreenTracking(screenName: "画面名")
        }
    }
    

    이벤트 추적


        @objc func btnTapped(sender:UIButton){ 
                //GAイベントトラッキング
                GATrackingManager.sendEventTracking(category: "カテゴリ名", action: "アクション名", label: "ラベル名")
    
        }
    

    Google 애널리틱스에서 확인



    Google 애널리틱스 화면에서 설정하지 않습니다. 재미있어
    추적을 넣으면 이벤트가 날고 있는지 확인하십시오.

    좋은 웹페이지 즐겨찾기