Google Analytics(分析)屏幕跟踪 swift 3.0 不起作用

Posted

技术标签:

【中文标题】Google Analytics(分析)屏幕跟踪 swift 3.0 不起作用【英文标题】:Google Analytics screen tracking swift 3.0 not working 【发布时间】:2016-12-28 19:36:54 【问题描述】:

Google 的屏幕跟踪代码在 swift 3.0 中不起作用 这是代码:

    let tracker = GAI.sharedInstance().defaultTracker
    tracker.set(kGAIScreenName, value: name)

    let builder = GAIDictionaryBuilder.createScreenView()
    tracker.send(builder.build() as [NSObject : AnyObject])

我收到以下错误:“无法将 NSMutableDictionary 类型的值转换为强制类型 [NSObject: AnyObject]”。 请问有什么帮助吗?

【问题讨论】:

如果删除 as [NSObject : AnyObject] 会发生什么?编译器应该提示正确的类型(也可以在 .send 上执行 ALT+CLICK 以查看它返回的内容)。 是的,它返回 void 并且它需要一个 [AnyHashable: Any] 的参数。我试图将 NSMutableDictionary 转换为 [AnyHashable: Any] 并且仍然无法正常工作:“cast always fail”... 【参考方案1】:

首先转换为 NSDictionary。这有效:

tracker.send(builder.build() as NSDictionary as [NSObject : AnyObject])

【讨论】:

太棒了!谢谢。

以上是关于Google Analytics(分析)屏幕跟踪 swift 3.0 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Google Analytics搜索指标

text 使用Google Analytics(分析)启动按钮CTA事件跟踪

javascript Google Analytics(分析) - 动态表单字段跟踪数据层实施

具有多个跟踪器的 Google Analytics(分析)跨域跟踪

Google 跟踪代码管理器命中在 Google Analytics(分析)中不可见

Google Analytics(分析)电子商务仅跟踪 Paypal