開発者コンソール

Crashlyticsコンポーネント


Crashlyticsコンポーネント

 IV: コンポーネントを追加して機能性を高める

Crashlytics(Fabric提供)は、アプリのクラッシュに関する分析を提供します。Crashlyticsによる説明を以下に紹介します。

Crashlyticsは、iOSとAndroid向けの業界随一のクラッシュレポートプラットフォームです。Crashlyticsを使用すれば、アプリ内のクラッシュに関するリアルタイム情報と、最も影響の大きい安定性の問題に正面から対処するために必要な詳細を得ることができます。Crashlyticsをインクルードするだけで、すぐにクラッシュレポートが有効になります。コードを追加する必要はありません。 - Crashlytics

詳細については、Android向けのCrashlyticsのドキュメントを参照してください。Crashlyticsコンポーネントには、IAnalyticsインターフェイスが実装されています。このコンポーネントを使用するには、Crashlyticsアカウントが必要です。

Crashlyticsを構成するには、次の手順を実行します。

手順1:Crashlyticsキーを取得する

Crashlyticsアカウントをまだ取得していない場合は、サインアップしてアプリの詳細を送信します。

  1. https://fabric.io/sign_upにアクセスし、アカウントにサインアップします。
  2. 確認画面とようこそ画面を進みます。
  3. 「You'll be up and running in 3 steps!」という画面は無視します。

    これらの3つの手順でFabricプラグインをダウンロードしてインストールできますが、この画面はすべて無視してください。Crashlyticsコンポーネントをインストールまたは構成するために、Android StudioにFabricプラグインをインストールする必要はありません。このプラグインは、更新したコードでCrashlyticsが動作できることを確認するためのものです。以降の手順では、同じ結果になるようにFire App Builderのコードを調整しています。
  4. Install Crashlytics via Gradleページにアクセスし、Add Your API Keyセクションを確認します。

    ログインしている場合は、次のようにコードサンプルにAPIキーが自動的に入力されます。

    コードサンプルにAPIキーが自動的に入力されます。
  5. このAPIキーを、後の手順で使用できるように参照しやすい場所にコピーします。

(既にCrashlyticsアカウントを持っていて、これまでにCrashlyticsの統計データを表示したことがある場合は、組織の設定からAPIキーを確認することもできます。Fabric API Keysを参照してください。)

手順2:Crashlyticsコンポーネントを構成する

  1. Crashlyticsコンポーネントをアプリに読み込みます。アプリにコンポーネントを読み込む方法の詳細については、アプリ内のコンポーネントを追加または削除するを参照してください。

    アプリにほかの分析コンポーネント(FlurryAnalyticsComponent、OmnitureAnalyticsComponent、GoogleAnalyticsComponent、LoggerAnalyticsComponentなど)が読み込まれている場合は、すべて削除してください。

  2. [Android] ビューで、Gradle Scriptsを展開し、build.gradle (Module: app)を開きます。「// Uncomment when using CrashlyticsComponent」というコメントで示されているコードのコメントを解除します。コメントを正しく解除したコードは次のようになります。

    // Uncomment when using CrashlyticsComponent
    apply plugin: 'io.fabric'
    apply from: "../artifacts.gradle"
    
    repositories {
        // Uncomment when using CrashlyticsComponent
        maven { url 'https://maven.fabric.io/public' }
    }
    
    buildscript {
        repositories {
            jcenter()
            // Uncomment when using CrashlyticsComponent
            maven { url 'https://maven.fabric.io/public' }
        }
        dependencies {
            classpath 'me.tatarka:gradle-retrolambda:3.2.3'
            // Uncomment when using CrashlyticsComponent
            classpath 'io.fabric.tools:gradle:1.+'
        }
    }
    
  3. CrashlyticsComponent > manifestsに移動し、AndroidManifest.xmlファイルを開きます。次のように、valueプロパティにCrashlyticsキーを入力します。

    android:name="io.fabric.ApiKey"
    android:value="your_fabric_api_account_key"/>
    
  4. CrashlyticsComponent > res > valuesに移動し、values.xmlを開きます。次のように、your_api_key文字列にCrashlyticsキーを入力します。

    <string name="your_api_key">your_api_key</string>
    
  5. [Sync Gradle] ボタンをクリックします。
  6. アプリをビルドして実行します。

アプリをビルドして実行すると、コードが正しく構成されていることがCrashlyticsで検出されます。この時点から、Crashlyticsのオンボード画面でブロックされずにCrashlyticsのダッシュボードに進めるようになります。

(アプリがビルドされたことで)Crashlyticsが正しく構成されていることをFabricが検出すると、このような画面が表示されます。ここからダッシュボードに進んで、クラッシュの分析を確認できます。

手順3:テストクラッシュを作成する

Crashlyticsの構成をテストするには、次のようにテストクラッシュを実行します。

  1. [Android] ビューで、TVUIComponent > java > com.amazon.android > tv.tenfoot > ui > fragmentsに移動し、ContentDetailsFragment.javaファイルを開きます。
  2. onStart()メソッドの先頭付近に次のコードを追加します。

    if(true) {
    throw new RuntimeException("Crashlyticsテスト用の疑似的なクラッシュ");
    }
    
  3. [Run 'app'] ボタン[Run 'app'] ボタンをクリックしてアプリを起動します。

アプリが起動すると、すぐにクラッシュします。logcatコンソールに「crashlytics」というキーワードでフィルターを適用すると、次のログが表示されます。

07-01 13:04:02.021 28688-28688/com.amazon.android.calypso D/CrashlyticsAnalyticsModuleInitReceiver: IAnalyticsModule initialized.
07-01 13:04:02.064 28688-28688/com.amazon.android.calypso I/CrashlyticsCore: Initializing Crashlytics 2.3.8.97
07-01 13:04:04.296 28688-28787/com.amazon.android.calypso I/CrashlyticsCore: Crashlytics report upload complete: 5776CC9E029B-0001-6E05-6C83E6F7D1F2.cls

手順4:Crashlyticsダッシュボードを確認する

コードを設定し、アプリを実行してクラッシュを発生させると、Crashlyticsはオンボードページを通さずにダッシュボードを表示します。ここでクラッシュの詳細を確認できます。

  1. Crashlyticsにログインします。
  2. 右上隅にある [Dashboard] をクリックします。
  3. ダッシュボードで情報と設定を確認します。
Crashlyticsダッシュボードに表示されたサンプルクラッシュ

タグ名のカスタマイズ

分析タグの名前はカスタマイズできます(タグはアクションや属性の名前です)。名前をカスタマイズすると、関心のあるアクティビティを識別しやすくなります。

すべての分析タグの一覧は、AnalyticsInterface > java > com.amazon.analytics > AnalyticsTags.javaで確認できます。

以下はタグの一例です。

public static final String ACTION_START_APP = "ACTION_START_APP";

ACTION_START_APP(左側)がタグで、ACTION_START_APP(右側)は、分析でのそのタグの表示方法です。この例では、どちらも同じになっています。この部分を、よりわかりやすい意味のある名前に変更できます。

タグを独自の名前にカスタマイズするには

  1. アプリのassets > configurationsディレクトリに移動します。
  2. このディレクトリに、CrashlyticsCustomAnalyticsTags.jsonという名前のJSONファイルを追加します。
  3. カスタマイズするタグを次の形式で追加します。

    {
      "タグ": "値",
      "タグ": "値"
    }
    

    たとえば、ACTION_START_APPタグとACTION_SEARCHタグをカスタマイズするには、これらを次のように追加します。

    {
      "ACTION_START_APP":"アプリの起動",
      "ACTION_SEARCH": "検索"
    }
    

    左側の値は、AnalyticsTags.javaの分析タグにマッピングされます。右側の値は、タグの新しい値にマッピングされます。

    カスタマイズできないタグを追加すると、タグをカスタマイズできないことを示す警告がログに表示されます。このカスタマイズは無視されます。