Appticsコンソールでのクラッシュレポート

Appticsコンソールでのクラッシュレポート

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

概要

アプリのクラッシュとは、問題によりアプリが強制終了する致命的な例外です。同じ固有の問題が原因で、複数のクラッシュが発生する場合があります。インスタントエラーレポートを使用すると、このようなクラッシュの通知を受け取り、詳細なクラッシュレポートにアクセスし、クラッシュインスタンスの背後にある根本原因をリアルタイムで特定するための実用的なインサイト(クラッシュ分析)を得ることができます。

Appticsのクラッシュレポートには、クラッシュログ、スタックトレース、デバイスタイムライン、その他の診断情報も含まれており、アプリバージョン、OSバージョン、影響を受けたデバイス、デバイスモデル、デバイスIDなどにまたがる個別の問題の影響を把握できます。
アプリでクラッシュの追跡を開始するには、SDKをアプリに組み込む必要があります。SDKの実装については、以下を参照してください。
  1. Android向けクラッシュSDKガイド
  2. Cocoa向けクラッシュSDKガイド
  3. Windows向けクラッシュSDKガイド
  4. React Native向けクラッシュSDKガイド
  5. Flutter向けクラッシュSDKガイド
  6. JavaScript向けクラッシュSDKガイド

Appticsでのクラッシュの種類

クラッシュ

アプリが予期せず終了する典型的なケースで、通常は未処理の例外や重大なランタイムエラーが原因です。

アプリのハング(ANRエラー)

アプリ応答なし(ANR)エラーは、ユーザー入力、イベント、描画に対してアプリが5秒以内に応答せず、フリーズした場合に発生します。ANRは、アプリのメインスレッド(特にUIスレッド)が長時間ブロックされた場合に発生します。アプリのハングやANRでは、アプリはすぐにはクラッシュしませんが、ユーザーは手動でアプリを終了せざるを得なくなります。

アプリ起動エラー

アプリが適切に初期化できず、起動直後にクラッシュした場合に発生します。多くの場合、起動ロジックの設定ミスや依存関係の不足が原因です。

CPU例外

プロセッサーが無効な操作や不正なメモリアクセスなどの想定外の問題に遭遇し、通常のアプリ実行が妨げられた場合に発生するエラーです。これらの例外により、アプリがクラッシュまたはハングする可能性があり、多くの場合、コード内の低レベルの問題や設定ミスが原因で発生します。

ディスク書き込みエラー

ディスク書き込みエラーは、アプリがデバイスのストレージにデータを書き込めない場合に発生します。一般的には、空き容量不足、権限の問題、ファイルシステムの破損、書き込み処理中の競合状態が原因です。これらのエラーにより、クラッシュ、データの不整合、さらには永続的なデータ損失が発生する可能性があります。

クラッシュ分析ダッシュボード

  1. [開発者][クラッシュ]に移動します。選択した日付範囲について、クラッシュ総数、報告されたクラッシュの原因となった固有の問題、影響を受けた固有のデバイス、クラッシュしていないデバイスの割合(クラッシュフリー率)を確認できます。
  2. グラフでは、選択した日付範囲に各プラットフォームで発生したクラッシュ数、クラッシュの種類、クラッシュのタイムラインを視覚的に確認できます。

  1. 下までスクロールすると、すべての固有の問題の一覧と、問題の説明、影響を受けたOSバージョン、影響を受けたアプリバージョン、クラッシュ総数、影響を受けたデバイスの総数、コメントなどの詳細が表示されます。

クラッシュのグループ化


  1. Appticsは各クラッシュインスタンスを自動的に追跡し、スタックトレースに基づいてグループ化し、各クラッシュに固有のフィンガープリントを提供します。これにより、クラッシュのトリアージにかかる時間を短縮し、それらのクラッシュの背後にある固有の問題を調査できます。
  2. わかりやすくするため、コンソールに表示される各固有の問題の横にタグが表示されます。一方のタグはクラッシュの種類を示し、もう一方のタグはクラッシュが報告されたアプリフレームワークを指定します。つまり、ネイティブReact Native、またはFlutterです。
InfoAndroid向けには、クラッシュレポート用のAndroid StudioプラグインであるApptics insightsを提供しています。このプラグインにより、Zoho Appticsのクラッシュおよびエラーレポート機能をIDE内で直接利用でき、タブを切り替えずに問題をデバッグできます。他のAndroid Studioプラグインと同様に、JetBrains Marketplaceで利用できます。

    クラッシュレポートの分析

    Appticsでのクラッシュ追跡には、シンボル化されたクラッシュレポートとエラーログ、スタックトレース、スレッド、デバイス詳細、クラッシュ環境、ブレッドクラム、その他の診断情報が含まれており、問題の根本原因をデバッグして特定できます。
    1. 詳細を確認するには、固有の問題の一覧で個別の問題をクリックします。

    1. タイムライングラフでは、時間の経過に伴うクラッシュ総数と、影響を受けた固有のデバイス数を確認できます。固有の問題によって発生したクラッシュ数、影響を受けたデバイス、影響を受けた最新のアプリバージョンなどの統計を表示できます。
    2. その他のグラフでは、影響を受けたデバイス、OSバージョン、アプリバージョンを把握できます。

    スタックトレース

    1. デフォルトでは、現在のスレッドを含むシンボル化されたスタックトレースを確認できるため、問題のデバッグと解決に役立ちます。すべてのスレッドを含むスタックトレース全体を表示するには、[すべてのスレッドを表示]をクリックします。

    1. 何らかの理由でシンボル化/難読化解除されたスタックトレースが表示されない場合は、iOSの場合は[シンボル化]を、Androidの場合は[難読化解除]
      をクリックします。

    1. [<> 生テキスト]ボタンをクリックすると、問題に関する生データを含む完全なスタックトレースも表示できます。
    2. crash_log.txtをクリックしてクラッシュファイルをダウンロードし、必要に応じてローカルマシンでシンボル化します。

    AI分析

    [AI分析]をクリックすると、デバイス情報、クラッシュの概要、分析、結論、可能な場合は対処方法を含む、AI生成のクラッシュ分析レポートを取得できます。

    個別クラッシュインスタンスの分析

    1. クラッシュ詳細ページで[一覧を表示]をクリックすると、固有の問題が原因で発生したすべてのクラッシュインスタンスの一覧が表示されます。
    2. 一覧には、影響を受けたデバイスモデル、アプリバージョン、OSバージョン、デバイスID、クラッシュが発生した時刻、Appticsで受信された時刻などの詳細が含まれます。

    デバイスタイムライン

    1. 個別のクラッシュインスタンスをクリックすると、デバイスタイムラインを表示できます。デバイスのクラッシュインスタンスの詳細が表示されます。

    1. デバイスタイムラインでは、次のようなデバイス固有の情報の詳細を確認できます。
      1. Apptics SDKバージョン
      2. アプリバージョン
      3. OSバージョン
      4. バッテリー状態
      5. ネットワークEDGE
      6. Wi-Fi強度
      7. デバイスの向き
      8. デバイスID
      9. デバイスモデル
      10. UUID
    さらにドリルダウンして、セッションデータ(クラッシュインスタンスが発生したセッション中にトリガーされたイベント、API呼び出し、画面のトレース)を分析できます。[ユーザーセッションの詳細を表示]をクリックすると、デバイスID(利用可能な場合はユーザーIDも)に関連付けられたすべてのセッションのデータを表示できます。


    1. イベントのトレースには、問題の発生時に発生したイベントが表示されます。
    2. API呼び出しのトレースには、問題の発生中にトリガーされたすべてのAPI呼び出しの一覧が表示されます。
    3. 画面のトレースには、問題の発生時に表示されたすべての画面の一覧が表示されます。

    ユーザー情報とカスタムプロパティ

    1. [カスタムプロパティを表示]をクリックすると、特定のクラッシュで利用可能なカスタムプロパティがあるかどうかを確認できます。

    1. [PIIが利用可能]をクリックすると、ユーザーIDやメールIDなどのユーザー情報(利用可能な場合)を取得できます。

    メモ:ユーザー情報の表示は役割に基づく操作であり、適切な役割と権限を持つプロジェクトメンバーのみが表示できます。ユーザー情報が表示されるたびに、Zohoのプライバシーポリシーに従い、Appticsコンソールのプロジェクトの監査ログにデータが作成されます。

    課題の管理

    課題の優先順位付け

    重大度に基づいてクラッシュの優先順位を設定できます。重大度は、ショーストッパー、重大、大、小、なしとして設定できます。

    課題解決に向けた共同作業

    1. チームメンバーがコメント、タグ付け、担当者の割り当てを行えるようにすることで、個別の課題を迅速に解決できます。

    1. Appticsをプロジェクト管理ツールと連携していない場合は、Appticsコンソール内で課題を管理するオプションを使用できます。コンソール内で課題に対応し、完了できます。すべての課題、未対応の課題、完了済みの課題を表示できます。

    Zoho Projectsでの課題の割り当て

    1. Zoho Projectsを使用している場合は、Zoho Appticsと連携して、これらの課題をバグとして割り当て、効率的に管理できます。(Zoho Projects連携ガイドを参照してください。)
    2. Zoho Projects連携を有効にすると、一意の課題リストに[プロジェクト]という追加の列が表示され、[割り当て]オプションを使用できます。
    3. 個別の課題をZoho Projectsのバグとして割り当てるには、[割り当て]をクリックします。

    1. ポップアップですべての詳細を入力し、[バグを割り当て]をクリックします。課題がプロジェクト内の該当する担当者に割り当てられます。

    クラッシュの即時通知

    1. Zoho CliqまたはSlackを使用している場合は、Zoho Appticsとの連携を有効にすることで、Appticsで報告されたクラッシュのリアルタイム通知を、専用のCliqチャンネルまたはSlackワークスペースで即時に受け取れます。
    連携手順については、以下を参照してください。
    1. Zoho Cliqの連携ガイド
    2. Slackの連携ガイド
    デバイスIDやユーザーIDなどの特定のユーザー情報、プラットフォーム、アプリのバージョン、課題、ユーザーグループに基づいてクラッシュを検索できます。