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. 分かりやすいように、コンソールに表示される各固有の問題の横にはタグが表示されます。一方のタグは不具合の種類を示し、もう一方のタグは不具合が報告されたアプリのフレームワーク(Native、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. ユーザー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などの特定のユーザー情報、プラットフォーム、アプリのバージョン、問題、ユーザーグループを条件に、クラッシュを検索できます。