5

您好
,我正在使用Google Analytics其中一个iPhone app. 我正在跟踪应用安装、屏幕访问和点击事件。
现在,我想crashes & exceptions在应用程序中跟踪它的原因及其位置(按位置,我的意思是方法名称、行号或其他任何内容)。我已经阅读了谷歌提供的文档,但没有得到任何有用的信息。
谁能帮我这个?任何例子都会非常感激。


更新:- 在这里,我附上了 GA 仪表板的屏幕截图链接。

在此处输入图像描述

4

3 回答 3

7

您可以发送回溯(已经符号化)。我设置了 sendUncaughtExceptions = FALSE 并手动发送。

id tracker = [[GAI sharedInstance] defaultTracker];

NSString * model = [[UIDevice currentDevice] model];
NSString * version = [[UIDevice currentDevice] systemVersion];
NSArray * backtrace = [exception callStackSymbols];
NSString * description = [NSString stringWithFormat:@"%@.%@.%@.Backtrace:%@",
                          model,
                          version,
                          exception.description,
                          backtrace];

[tracker send:[[GAIDictionaryBuilder
                createExceptionWithDescription:description  // Exception description. May be truncated to 100 chars.
                withFatal:NO] build]];     

(型号和版本是可选的)

回溯将有 <redacted> 但最重要的类和方法将是象征性的(崩溃发生的地方),你会知道在哪里

** 编辑 **

如何处理异常

  1. 详细说明
  2. 下载示例“UncaughtExceptions.zip”
  3. UncaughtExceptionHandler.m上,在方法“ handleException:(NSException *)exception ”内部你可以做你想做的事,在我的情况下,我有其他方法来验证异常,然后发送到 GAI
于 2013-09-26T12:11:25.450 回答
1

我还没有使用 Google Analytics 崩溃报告功能,但发现这可能会有所帮助。

您可以使用此代码让 Google Analytics(v2) 报告未捕获的异常,即崩溃

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [GAI sharedInstance].sendUncaughtExceptions = YES; // Enable 

  // ... the rest of your code, include other GAI properties you want to set.
}

我不认为这些将是符号化的崩溃报告,因为设备无法对其进行符号化。因此,您可能必须自己对收到的崩溃报告进行符号化,以了解导致此崩溃的代码中的行号。

查看在哪里可以查看 Google Analytics(分析)iOS 崩溃日志?

参考:符号化 iPhone 应用程序崩溃报告

希望有帮助!

于 2013-08-29T06:43:49.687 回答
0

斯威夫特 3

    GAI.sharedInstance().trackUncaughtExceptions = true
于 2017-04-08T13:38:07.097 回答