顯示廣告
隱藏 ✕
看板 KnucklesNote
作者 Knuckles (站長 那克斯)
標題 [Xcode][Swift3] 加上 Google Analytics 追蹤 APP 使用情形
時間 2017-05-23 Tue. 02:21:52


=== 後記 ===
參考 [Xcode][Swift3] 使用 Google 的 Firebase - KnucklesNote板 - Disp BBS
後來發現使用 Firebase 的 Analytics 就可以了,不用裝這個

GA 現在不能新增 APP 的追踨編號了,要先在 Firebase 新增應用程式後
在 GA 裡連結 Firebase 的應用程式
============

在 Google Analytics 新增追蹤編號

登入 Google Analytics 後,在「管理員」選擇一個 GA 帳戶
在這個 GA 帳戶裡新建一個資源
[圖]


選擇資源類型為「行動應用程式」,輸入APP的名稱,選擇產業類別
[圖]


要啟用 IDFA (廣告客戶識別碼) 功能的話,在資源設定打開「啟用客層和興趣報表」
[圖]


記下自己的追蹤編號 UA-XXXXXXXX
[圖]



安裝 Google Analytics iOS SDK

參考 Google 的說明文件:
https://developers.google.com/analytics/devguides/collection/ios/v3/?ver=swift

使用 CocoaPod 安裝 GoogleAnalytics SDK
CocoaPod 的使用方法可參考這篇
[Xcode][Swift3] 安裝套件管理工具 CocoaPods - KnucklesNote板 - Disp BBS

修改 Podfile,加上
  pod 'Google/Analytics'

開啟終端機,在專案目錄執行 pod install
目前安裝的版本為 GoogleAnalytics 3.17.0


新增 BridgingHeader

因為 Analytics 是使用 Objective-C 寫的,
要在 Swift 專案中使用 Objective-C 的話,要先加上 BridgingHeader

點 command+n 新增檔案,選「Header File」
[圖]

檔案名稱輸入「BridgingHeader」

在專案設定的「Build Settings」,選「All」,
在右邊的搜尋框輸入「bridging」,
在下面出現的 Objective-C Bridging Header 輸入「$(PROJECT_NAME)/BridgingHeader.h」
[圖]



設定 GoogleAnalytics

修改 BridgingHeader.h

在 #define ... 與 #endif 之間加上
#import <Google/Analytics.h>


修改 AppDelegate.swift

在成員函數 application(_:didFinishLaunchingWithOption:) 中加上
guard let gai = GAI.sharedInstance() else {
  assert(false, "Google Analytics not configured correctly")
}
gai.tracker(withTrackingId: "YOUR_TRACKING_ID")
// Optional: automatically report uncaught exceptions.
gai.trackUncaughtExceptions = true

// Optional: set Logger to VERBOSE for debug information.
// Remove before app release.
gai.logger.logLevel = .verbose;
將 "YOUR_TRACKING_ID" 改成自己的追蹤編號 "UA-XXXXXXXX"


加上頁面追蹤

在想要追蹤的頁面加上
    override func viewWillAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

        // Google Analytics
        let screenName = "MyPage"
        guard let tracker = GAI.sharedInstance().defaultTracker else { return }
        tracker.set(kGAIScreenName, value: screenName)
        guard let builder = GAIDictionaryBuilder.createScreenView() else { return }
        tracker.send(builder.build() as [NSObject : AnyObject])


執行看看,切換到要追蹤頁面後,
過一會在 Google Analytics 的即時就會看到有一個使用者了
[圖]





--
※ 作者: Knuckles 時間: 2017-05-23 02:21:52
※ 編輯: Knuckles 時間: 2017-06-03 14:42:28
※ 看板: KnucklesNote 文章推薦值: 1 目前人氣: 0 累積人氣: 635 
分享網址: 複製 已複製
1樓 時間: 2017-06-03 13:44:54 (台灣)
  06-03 13:44 TW
大大我有問題,我照你的步驟做到 管理員 >> 新建資源 後,他強迫要我綁定firebase,和你的畫面不一樣 為什麼QQ
啊 在GA新增追蹤編號那邊我是很久以前寫的,可能現在不一樣了吧,其實這篇應該沒有用了,後來發現直接裝 Firebase 就附有 Analytics 了,不用裝這個
2樓 時間: 2017-06-03 15:22:42 (台灣)
  06-03 15:22 TW
覺得firebase的文檔有點難懂,期待大大開教學文
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇