サイトのトップへ戻る

Twitter 開発者 ドキュメント日本語訳

クラッシュリポートを拡張する

カスタムキー

カスタムキーを使うことで、あなたのアプリがクラッシュするまでの特定の状態を取得することができます。任意のキーと値の組み合わせをクラッシュリポートに関連付け、Fabric ダッシュボードから見えるようにすることができます。



キーを設定する

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; 


既存のキー値を更新する

時には、既存のキー値を変更する必要があります。既存のキー指定して実行すると、その値がが書き換えられます。例:

	[Crashlytics setIntValue:3 forKey:@"current_level"];
	[Crashlytics setObjectValue:@"logged_in" 
		forKey:@"last_UI_action"];

注意: Crashlyticsではキーと値の組み合わせを最大64組までサポートしています。この上限に達すると、追加した値は保存されません。キーと値の組み合わせは、一組につき最大1KBの値まで使えます。



カスタムロギング

CLS_LOGを使うことで、メッセージログの形であなたのコードにパンくず(デバッグ用の目印)を残すことができます。これによりあなたのアプリでクラッシュが発生するまでの流れを見ることができます。これらのメッセージはクラッシュデータに関連付けられ、Fabric のダッシュボードで特定のクラッシュを見る際に見ることができます。

CLS_LOGは問題を絞り込むのに役立つよう作られました。 Objective-Cのクラス、メソッド、ログが発生した行番号についての情報を自動的にインクルードします。

CLS_LOG(format, ...)というのが、アプリにカスタムロギングを追加する際に推奨される方法です。

  • デバッグビルドでは、CLS_LOGNSLogへ渡されるので、 出力結果をXcode上や端末もしくはシミュレータ上で見ることができます。
  • しかしリリースビルドでは、NSLogよりも 10倍の速さでログを出力した結果、CLS_LOGは他の全ての出力結果を出力しません。

例:

CLS_LOG(@"Higgs-Boson detected! Bailing out... %@", 
		attributesDict);

詳細についてはヘッダファイルCrashlytics/Crashlytics.hを参照してください。



応用

より精密な制御をするため、CLSLog(format, ...)CLSNSLog(format, ...)を直接利用することができます。 後者についてはNSLog へ渡されるので、出力結果をXcode上や端末もしくはシミュレータ上で見ることができます。 CLSLog(format, ...)CLSNSLog(format, ...) は複数のスレッドから参照されても正常に動作します。 CLSLog はクラッシュを解決するための重要な情報をロギングするためのものです。アプリ内のイベントをトレースするために使うべきではありません。



Swiftを使う:

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"]))


ユーザー識別

どういったユーザーでクラッシュが発生したのは知ることは、しばしば問題解決の助けになります。 Fabricを初期化した後、[Crashlytics setUserIdentifier:]を使ってIDナンバーやトークンやハッシュ値を付与することができます。これは個人情報を一切公開・送信せずにアプリのエンドユーザーを識別します。 空の文字列を設定して値をクリアすることもできます。この値はFabric ダッシュボードの右側に表示されます。

	+ (void)setUserIdentifier:(NSString *)identifier; 

高度なユーザー識別機能を使用したい場合は、追加で以下の二つを使用できます。:

	+ (void)setUserName:(NSString *)name; 
			
	+ (void)setUserEmail:(NSString *)email;