cocoa勉強会関西 #54 crash report解析サービスを試してみた
TRANSCRIPT
• flurry.com
• iOS, Android, Windows Phone, Java, BlackBerry, Web
• 完全無料
• 広告SDKもある(ここから収益?)
• 独自イベント定義可能(うまくいかない・・・)
• Webページ重い。とにかく重い
• bugsense.com
• iOS, Android, Windows Phone, Windows8, Web
• 有料プランあり
• ログ取得は有料プラン(Breadcrumbログ)
• Mac用のクライアントアプリあり
• Github, JIRA, Pivotal連携あり
• crittercism.com
• iOS, Android, Windows Phone, Web
• 有料プランあり
• ログ取得は有料プラン(Breadcrumbログ)
• リアルタイムモニタ
• Github, JIRA, Pivotal連携あり
Breadcrumbログって?• CrashReportだけあってもユーザの操作手順がわからない
• どのViewをみているとか、どのボタンを押したとかのログをSDK経由で残しておく
• 落ちたときに直前のログも一緒に教えてくれる
• crashlytics.com
• iOS, Android, Windows Phone, Web
• 完全無料(2013.1にTwitterに買収)
• Invitation必要だけどメール登録すればOK
• Mac用のアプリからXcodeにたいして設定する
• ログ取得あり(Breadcrumbログ)
参考• アプリ内にログをためる枠組みとして
https://github.com/CocoaLumberjack/CocoaLumberjack
• デバッグ中はコンソール、ファイルに両書き出し
• リリースではファイルにのみ書き出して必要に応じてユーザさんに送ってもらう
みたいな運用が簡単にできます
たとえば{#ifdef TESTFILGHT // TestFlight使用時: WARN 以上のログを送信 [TestFlight takeOff:@"xxxx"]; [TestFlight setOptions:@{TFOptionLogToConsole: @NO, TFOptionLogToSTDERR: @NO}]; [DDLog addLogger:[[TestFlightLogger alloc] init] withLogLevel:LOG_LEVEL_WARN];#endif!#if DEBUG // debugビルド: コンソールにログ出力 [DDLog addLogger:[DDASLLogger sharedInstance]]; [DDLog addLogger:[DDTTYLogger sharedInstance]];#else // releaseビルド: Crashlytics用のログ出力 [DDLog addLogger:[[CrashlyticsLogger alloc] init] withLogLevel:LOG_LEVEL_INFO];#endif! // 常にファイルログ出力 self.fileLogger = [[DDFileLogger alloc] init]; self.fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling self.fileLogger.logFileManager.maximumNumberOfLogFiles = 7; [DDLog addLogger:self.fileLogger];}
http://www.flurry.com/
http://www.bugsense.com/
http://www.crittercism.com/
http://www.crashlytics.com/