在 Swift 中 Google Analytics 异常跟踪的正确语法是什么?
What is the proper syntax for Google Analytics Exception tracking in Swift?
我正尝试在 Google Analytics 中为我的应用程序使用异常跟踪。
https://developers.google.com/analytics/devguides/collection/ios/v3/exceptions
我只是想弄清楚 Swift 中的语法(对 Obj-C 不是很熟悉):
@try {
// Request some scores from the network.
NSArray *highScores = [self getHighScoresFromCloud];
}
@catch (NSException *exception) {
// May return nil if a tracker has not already been initialized with a
// property ID.
id tracker = [[GAI sharedInstance] defaultTracker];
[tracker send:[[GAIDictionaryBuilder
createExceptionWithDescription:@"Connection timout %d: %@", connectionError, errorDescription // Exception description. May be truncated to 100 chars.
withFatal:@NO] build]]; // isFatal (required). NO indicates non-fatal exception.
}
我的追踪器设置正常,将其他数据保存到 GA 时工作正常,我不确定 Swift 中调用 createExceptionWithDescription()
的语法。
使用 Swift 进行 Google 分析的示例/文档肯定不会太多... =/ 如果您知道,请告诉我!
谢谢。
我想它是这样的:
let dictionaryToSend = GAIDictionaryBuilder.createExceptionWithDescription("Connection timeout \(connectionError): \(errorDescription)", withFatal: NSNumber(bool: false)).build()
如果它是 Obj-C 中的 class 函数,写成
[GAIDictionaryBuilder createExceptionWithDescription:...]; // objc
写得像
GAIDictionaryBuilder.createExceptionWithDescription(...); // swift
obj-c 中的每个冒号表示一个参数变量。
// Broken into two lines to make it easier to read
[GAIDictionaryBuilder createExceptionWithDescription: @"String here"
withFatal: @NO];
您可以在 swift 中做类似的事情:
//Comma separated
GAIDictionaryBuilder.createExceptionWithDescription("Description String",
withFatal: NSNumber(bool:false));
我建议您学习一点 ObjC 消息传递语法,因为很多 iOS 代码仍在 ObjC 中,但不要太担心它。 Swift 是更好的语言。
谢谢 David Wong,你的 post 帮了我很大的忙,让我在语法方面走上了正确的轨道。
这个post也对我帮助很大:
这就是最终对我有用的东西:
let tracker = GAI.sharedInstance().defaultTracker
let eventTracker: NSObject = GAIDictionaryBuilder.createExceptionWithDescription("No internet connection.", withFatal: false).build()
tracker.send(eventTracker as! [NSObject : AnyObject])
再次感谢!
我正尝试在 Google Analytics 中为我的应用程序使用异常跟踪。 https://developers.google.com/analytics/devguides/collection/ios/v3/exceptions
我只是想弄清楚 Swift 中的语法(对 Obj-C 不是很熟悉):
@try {
// Request some scores from the network.
NSArray *highScores = [self getHighScoresFromCloud];
}
@catch (NSException *exception) {
// May return nil if a tracker has not already been initialized with a
// property ID.
id tracker = [[GAI sharedInstance] defaultTracker];
[tracker send:[[GAIDictionaryBuilder
createExceptionWithDescription:@"Connection timout %d: %@", connectionError, errorDescription // Exception description. May be truncated to 100 chars.
withFatal:@NO] build]]; // isFatal (required). NO indicates non-fatal exception.
}
我的追踪器设置正常,将其他数据保存到 GA 时工作正常,我不确定 Swift 中调用 createExceptionWithDescription()
的语法。
使用 Swift 进行 Google 分析的示例/文档肯定不会太多... =/ 如果您知道,请告诉我!
谢谢。
我想它是这样的:
let dictionaryToSend = GAIDictionaryBuilder.createExceptionWithDescription("Connection timeout \(connectionError): \(errorDescription)", withFatal: NSNumber(bool: false)).build()
如果它是 Obj-C 中的 class 函数,写成
[GAIDictionaryBuilder createExceptionWithDescription:...]; // objc
写得像
GAIDictionaryBuilder.createExceptionWithDescription(...); // swift
obj-c 中的每个冒号表示一个参数变量。
// Broken into two lines to make it easier to read
[GAIDictionaryBuilder createExceptionWithDescription: @"String here"
withFatal: @NO];
您可以在 swift 中做类似的事情:
//Comma separated
GAIDictionaryBuilder.createExceptionWithDescription("Description String",
withFatal: NSNumber(bool:false));
我建议您学习一点 ObjC 消息传递语法,因为很多 iOS 代码仍在 ObjC 中,但不要太担心它。 Swift 是更好的语言。
谢谢 David Wong,你的 post 帮了我很大的忙,让我在语法方面走上了正确的轨道。
这个post也对我帮助很大:
这就是最终对我有用的东西:
let tracker = GAI.sharedInstance().defaultTracker
let eventTracker: NSObject = GAIDictionaryBuilder.createExceptionWithDescription("No internet connection.", withFatal: false).build()
tracker.send(eventTracker as! [NSObject : AnyObject])
再次感谢!