カスタムキーを使うことで、あなたのアプリがクラッシュするまでの特定の状態を取得することができます。任意のキーと値の組み合わせをクラッシュリポートに関連付け、Fabric ダッシュボードから見えるようにすることができます。
Enhancing Crash ReportsCustom KeysCustom keys help you get the specific state of your app leading up to a crash. You can associate arbitrary key/value pairs with your crash reports, viewable right from the Fabric dashboard. |
Start with [Crashlytics setObjectValue:forKey:]
or one of the related methods:
+ (void)setObjectValue:(id)value forKey:(NSString *)key; // calls -description on value, perfect for NSStrings! + (void)setIntValue:(int)value forKey:(NSString *)key; + (void)setBoolValue:(BOOL)value forKey:(NSString *)key; + (void)setFloatValue:(float)value forKey:(NSString *)key;
Setting KeysStart with + (void)setObjectValue:(id)value forKey:(NSString *)key; // calls -description on value, perfect for NSStrings! + (void)setIntValue:(int)value forKey:(NSString *)key; + (void)setBoolValue:(BOOL)value forKey:(NSString *)key; + (void)setFloatValue:(float)value forKey:(NSString *)key; |
時には、既存のキー値を変更する必要があります。既存のキー指定して実行すると、その値がが書き換えられます。例:
[Crashlytics setIntValue:3 forKey:@"current_level"]; [Crashlytics setObjectValue:@"logged_in" forKey:@"last_UI_action"];
注意: Crashlyticsではキーと値の組み合わせを最大64組までサポートしています。この上限に達すると、追加した値は保存されません。キーと値の組み合わせは、一組につき最大1KBの値まで使えます。
Update existing key valueSometimes you need to change the existing key value. Call the same key, but replace the value. Examples: [Crashlytics setIntValue:3 forKey:@"current_level"]; [Crashlytics setObjectValue:@"logged_in" forKey:@"last_UI_action"]; Note: Crashlytics supports a maximum of 64 key/value pairs. Once you reach this threshold, additional values are not saved. Each key/value pair can be up to 1 KB. |
CLS_LOG
を使うことで、メッセージログの形であなたのコードにパンくず(デバッグ用の目印)を残すことができます。これによりあなたのアプリでクラッシュが発生するまでの流れを見ることができます。これらのメッセージはクラッシュデータに関連付けられ、Fabric のダッシュボードで特定のクラッシュを見る際に見ることができます。
CLS_LOG
は問題を絞り込むのに役立つよう作られました。 Objective-Cのクラス、メソッド、ログが発生した行番号についての情報を自動的にインクルードします。
CLS_LOG(format, ...)
というのが、アプリにカスタムロギングを追加する際に推奨される方法です。
CLS_LOG
は NSLog
へ渡されるので、 出力結果をXcode上や端末もしくはシミュレータ上で見ることができます。
NSLog
よりも 10倍の速さでログを出力した結果、CLS_LOG
は他の全ての出力結果を出力しません。
例:
CLS_LOG(@"Higgs-Boson detected! Bailing out... %@", attributesDict);
詳細についてはヘッダファイルCrashlytics/Crashlytics.h
を参照してください。
Custom LoggingWith
Example: CLS_LOG(@"Higgs-Boson detected! Bailing out... %@", attributesDict); Browse the |
より精密な制御をするため、CLSLog(format, ...)
とCLSNSLog(format, ...)
を直接利用することができます。
後者についてはNSLog へ渡されるので、出力結果をXcode上や端末もしくはシミュレータ上で見ることができます。
CLSLog(format, ...)
とCLSNSLog(format, ...)
は複数のスレッドから参照されても正常に動作します。
CLSLog
はクラッシュを解決するための重要な情報をロギングするためのものです。アプリ内のイベントをトレースするために使うべきではありません。
AdvancedFor more control, you can directly leverage |
Swiftでカスタムロギングを使うには、単にCLSLogv か CLSNSLogvを使うだけで良いです。 You need to make an array and then call getVaList function on that array.
CLSLogv("Log awesomeness %d %d %@", getVaList([1, 2, "three"]))
Using Swift:To use custom logging in Swift, just use CLSLogv or CLSNSLogv?. You need to make an array and then call getVaList function on that array. ?CLSLogv("Log awesomeness %d %d %@", getVaList([1, 2, "three"])) |
どういったユーザーでクラッシュが発生したのは知ることは、しばしば問題解決の助けになります。 Fabricを初期化した後、[Crashlytics setUserIdentifier:]
を使ってIDナンバーやトークンやハッシュ値を付与することができます。これは個人情報を一切公開・送信せずにアプリのエンドユーザーを識別します。
空の文字列を設定して値をクリアすることもできます。この値はFabric ダッシュボードの右側に表示されます。
+ (void)setUserIdentifier:(NSString *)identifier;
高度なユーザー識別機能を使用したい場合は、追加で以下の二つを使用できます。:
+ (void)setUserName:(NSString *)name; + (void)setUserEmail:(NSString *)email;
User IdentifiersIt’s often helpful to know which of your users experienced a given crash. After initializing Fabric, you can use + (void)setUserIdentifier:(NSString *)identifier; If you would like to take advantage of advanced user identifier features, you can additionally use both: + (void)setUserName:(NSString *)name; + (void)setUserEmail:(NSString *)email; |