簡體   English   中英

UIButton事件跟蹤Google Analytics(分析)(快速)

[英]UIButton Event Tracking Google Analytics (Swift)

當用戶使用Google Analytics(分析)點擊UIButton時,我想跟蹤一個事件。 我有下面的代碼,但顯示錯誤。 我要去哪里錯了? 謝謝

碼:

@IBAction func startGame1(sender: AnyObject) {

        var tracker = GAI.sharedInstance().defaultTracker

        tracker.send(GAIDictionaryBuilder.createEventWithCategory("Game 1", action: "Start Pressed", label: "Start Timer One", value: nil).build()) 
    }

錯誤:

Cannot invoke 'send' with an argument list of type'(NSMutableDictionarry)'

自Swift 1.2發布以來,您必須將GAIDictionaryBuilder[NSObject : AnyObject]

在StackOverflow上看到這篇文章

Google Analytics(分析)不適用於Swift 1.2和Xcode 6.3

有針對您問題的解決方案

@IBAction func startGame1(sender: AnyObject) {

        var tracker = GAI.sharedInstance().defaultTracker

        tracker.send(GAIDictionaryBuilder.createEventWithCategory("Game 1", action: "Start Pressed", label: "Start Timer One", value: nil).build() as [NSObject : AnyObject]) 
    }

希望能幫助到你!

對於Swift 5。

1.您應該在項目中添加GoogleService-Info.plist文件(請參閱Google文檔)。

2.您應該在Info.plist文件中添加此屬性:

<key>GoogleAnalytics</key>
<dict>
    <key>TRACKING_ID</key>
    <string>"put_your_tracking_id_here"</string>
</dict>

3.在AppDelegate類的didFinishLaunchingWithOptions方法中:

// GAI
    if let gai = GAI.sharedInstance(),
        let gaConfigValues = Bundle.main.infoDictionary?["GoogleAnalytics"] as? [String: String],
        let trackingId = gaConfigValues["TRACKING_ID"]
    {
        gai.logger.logLevel = .error
        gai.trackUncaughtExceptions = false
        gai.tracker(withTrackingId: trackingId)
    } else {
        assertionFailure("Google Analytics not configured correctly")
    }

4.在您的ViewController中,在viewDidLoad方法中(例如):

// GAI
    let tracker = GAI.sharedInstance().defaultTracker
    tracker?.set(kGAIScreenName, value: "Your_mark_name")
    let eventTracker: NSObject = GAIDictionaryBuilder.createScreenView().build()
    tracker?.send(eventTracker as! [NSObject : AnyObject])

5,喝完啤酒之后;)


對於Swift 3

let tracker = GAI.sharedInstance().defaultTracker
tracker.set(kGAIDescription, value: "ScreenViewName")
let eventTracker: NSObject = GAIDictionaryBuilder.createScreenView().build()
tracker.send(eventTracker as! [NSObject : AnyObject])

要么...

let tracker = GAI.sharedInstance().defaultTracker
let eventTracker: NSObject = GAIDictionaryBuilder.createEvent( 
            withCategory: "SomeCategory",
            action: "SomeAction",
            label: "SomeLabel",
            value: nil).build()
tracker.send(eventTracker as [NSObject : AnyObject]!)

Swift 3:您應該使用“ [[AnyHashable:Any]””而不是[NSObject:AnyObject]。

資料來源: https : //developer.apple.com/swift/blog/?id=39

guard let tracker = GAI.sharedInstance().defaultTracker else {return}
let eventTracker: NSObject = GAIDictionaryBuilder.createEvent(
    withCategory: YOUR_CATEGORY_NAME,
    action: YOUR_ACTION_NAME,
    label: YOUR_LABEL_NAME,
    value: nil).build()
tracker.send(eventTracker as! [AnyHashable: Any])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM