谷歌分析没有在 Swift 中跟踪

Posted

技术标签:

【中文标题】谷歌分析没有在 Swift 中跟踪【英文标题】:Google Analytics not tracking in Swift 【发布时间】:2015-11-12 12:30:08 【问题描述】:

我正在尝试让 Google Analytics 在我的 Swift 项目中运行。我正在关注本教程:https://developers.google.com/analytics/devguides/collection/ios/v3/?ver=swift

它说我想将它包含在 #import <Google/Analytics.h> 中,但这似乎是客观的 c.. 但是我能够做到:import Google

我将 GoogleService-info.plist 及其目标成员资格下载到我的应用程序。

然后我粘贴了这段代码:

// Configure tracker from GoogleService-Info.plist.
var configureError:NSError?
GGLContext.sharedInstance().configureWithError(&configureError)
assert(configureError == nil, "Error configuring Google services: \(configureError)")

// Optional: configure GAI options.
var gai = GAI.sharedInstance()
gai.trackUncaughtExceptions = true  // report uncaught exceptions
gai.logger.logLevel = GAILogLevel.Verbose  // remove before app releaseAppDelegate.swift

但是我没有看到我的应用的任何统计信息,是我做错了什么还是需要额外的工作?

【问题讨论】:

r u 与 pod 或捆绑资源集成 它与 pod 集成。 即使使用 Swift,文档也说您需要一个桥接头:Initialize Analytics for your app 【参考方案1】:

您还需要跟踪事件。我认为上面的代码仅用于在您的应用中设置 GA。例如,您可以将以下代码添加到您要跟踪其屏幕视图的视图控制器之一:

let tracker = GAI.sharedInstance().defaultTracker
tracker.set("TEST", value: "TEST")        
let builder = GAIDictionaryBuilder.createScreenView()
tracker.send(builder.build() as [NSObject : AnyObject])

另外请记住,GA 事件有时需要很长时间才能显示在仪表板的实时跟踪器上。

希望对你有帮助!

【讨论】:

【参考方案2】:
    var configureError: NSError?
    GGLContext.sharedInstance().configureWithError(&configureError)
    assert(configureError == nil, "Error configuring Google services: \(configureError)")

    guard let gai = GAI.sharedInstance() else 
        assert(false, "Google Analytics not configured correctly")
    
    gai.trackUncaughtExceptions = true  // report uncaught exceptions
    gai.logger.logLevel = GAILogLevel.verbose  // remove before app release
    gai.dispatchInterval = 20
    gai.tracker(withTrackingId: "UA-XXXXXXXX-X")

   //Track an event
   let tracker = GAI.sharedInstance().defaultTracker
   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])

【讨论】:

以上是关于谷歌分析没有在 Swift 中跟踪的主要内容,如果未能解决你的问题,请参考以下文章

谷歌分析事件跟踪作为客户端错误日志[关闭]

在谷歌地图中保留用户位置中心 - Swift

谷歌分析跨域跟踪而不将 Cookie 附加到 URL?

PhoneGap 应用程序无法与谷歌分析一起使用

分析中的 user_ID 跟踪

有没有办法跟踪用户在 Swift Playgrounds 中输入的内容?