2013-08-29 45 views
5

您好
我在我的iPhone app之一中使用Google Analytics。我正在跟蹤應用安裝,屏幕訪問和點擊事件。
現在,我想跟蹤應用程序中的crashes & exceptions,其中包含原因及其位置(位置,我的意思是方法名稱,行號或其他)。我已閱讀由谷歌提供的文件,但沒有得到任何有用的東西。
任何人都可以幫助我嗎?任何例子將非常感激。使用Google Analytics(分析)的跟蹤崩潰iOS


更新: - 在這裏,我附上GA儀表板的截圖鏈接。

enter image description here

回答

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]];  

(型號和版本可選)

回溯將有<刪節>,但最重要的類和方法將是symbolicate(崩潰發生的位置),你會知道哪裏是

**編輯**

如何處理異常

  1. Detail explanation
  2. 下載示例 「UncaughtExceptions.zip」
  3. UncaughtExceptionHandler.m,該方法的內部 「handleException:(NSException *)異常」 你可以做你想做的,在我的情況我有另一種方法來驗證異常,之後發送給GAI
+0

你是如何處理異常的?意味着我不想在每一個功能中都寫下try-catch。 –

+2

我使用這個:http://www.cocoawithlove.com/2010/05/handling-unhandled-exceptions-and.html - 下載示例「UncaughtExceptions.zip」,並在「handleException:(NSException *)異常「你可以打電話給你想要的 – silvaric

1

我沒有用過谷歌分析崩潰報告功能還,但found this這可能是有益的。

您可以通過使用此代碼

- (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. 
} 

我不認爲這會symbolicated崩潰報告的設備無法symbolicate它擁有谷歌分析(V2)報告捕獲的異常,即崩潰。因此,您可能必須自己符號化收到的崩潰報告,以瞭解導致此崩潰的代碼中的行號。

退房Where can I view the Google Analytics iOS crash logs?

參見:Symbolicating iPhone App Crash Reports

希望幫助!

+0

感謝您的回答。但是,我怎樣才能用谷歌分析來實現這個(符號化崩潰報告)?我必須跟蹤App Store上的應用程序崩潰。 – Piyush

+0

@Piyush您只需在應用程序的'application:didFinishLaunchingWithOptions:'函數中添加上面的代碼行。如果您的應用已在應用商店中,則可能需要添加此功能並進行更新。 – Amar

+0

@Piyush在更新App Store上的IPA時,請保留'.dSYM'文件,因爲它將用於表示您收到的崩潰報告。 – Amar

0

夫特3

GAI.sharedInstance().trackUncaughtExceptions = true 
相關問題