[英]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.