Appticsコンソールにおけるクラッシュレポート
お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
概要
アプリクラッシュとは、致命的な例外が発生し、アプリが強制終了される事象を指します。同じ問題によって複数回クラッシュが発生する場合もあります。Instantエラー報告機能を利用することで、このようなクラッシュの通知をリアルタイムで受け取り、詳細なクラッシュレポートにアクセスし、クラッシュ分析などの実用的なインサイトを取得して、発生原因を特定することができます。
Appticsのクラッシュレポートには、クラッシュログやスタックトレース、デバイスのタイムライン、その他の診断情報も含まれます。これにより、アプリのバージョン、OSのバージョン、影響を受けたデバイス、デバイスモデル、デバイスIDなどにまたがる特定の問題の影響範囲を特定できます。
クラッシュの追跡を開始するには、アプリに当社のSDKを連携する必要があります。SDKの実装方法については、以下をご参照ください。
- Android用Crashes SDKガイド
- Cocoa用Crashes SDKガイド
- Windows用Crashes SDKガイド
- React Native用Crashes SDKガイド
- Flutter用Crashes SDKガイド
- JavaScript用Crashes SDKガイド
Appticsにおけるクラッシュの種類
クラッシュ
アプリが予期せず終了する典型的なケースです。多くの場合、未処理の例外や重大なランタイムエラーが原因となります。
アプリのハング(ANRエラー)
App Not Responding(ANR)エラーは、ユーザー入力やイベント、描画などが5秒以内に処理されず、アプリが応答しなくなったりフリーズした場合に発生します。ANRは、アプリのメインスレッド(特にUIスレッド)が長時間ブロックされたときに発生します。アプリのハングやANRの場合、すぐにクラッシュするわけではありませんが、ユーザーは手動でアプリを終了せざるを得なくなります。
アプリ起動エラー
アプリが正しく初期化されず、起動直後にクラッシュする際に発生します。多くは起動時のロジックの誤設定や依存関係の不足が原因です。
CPU例外
プロセッサが予期しない問題(無効な操作や不正なメモリアクセスなど)に遭遇し、通常のアプリ実行が妨げられた場合に発生するエラーです。これらの例外はアプリのクラッシュやハングの原因となり、多くはコードの低レベルな問題や設定ミスによって引き起こされます。
ディスク書き込みエラー
アプリがデバイスのストレージにデータを書き込めない場合に発生します。主な原因としては、空き容量不足、権限の問題、ファイルシステムの破損、書き込み時の競合状態などが挙げられます。これらのエラーはクラッシュやデータの不整合、さらにはデータの永久的な損失につながることもあります。
クラッシュ分析ダッシュボード
- Developer > Crash に移動します。選択した日付範囲で、クラッシュの合計件数、報告されたクラッシュの原因となった固有の問題、影響を受けたデバイスの数、クラッシュのないデバイス(クラッシュフリー単価)の割合(%)を表示できます。
- グラフでは、クラッシュ件数、クラッシュの種類、選択した日付範囲内に発生したクラッシュのタイムラインを、各プラットフォームごとに可視化できます。
- 下までスクロールすると、すべてのユニークな問題の一覧とともに、問題の説明、影響を受けたOSバージョン、アプリバージョン、クラッシュの合計件数、影響を受けたデバイスの合計台数、コメントなどの詳細が表示されます。
クラッシュのグループ化
- Appticsはクラッシュごとに自動でトラッキングし、スタックトレースに基づいてグループ化、さらに各クラッシュにユニークなフィンガープリントを割り当てます。これにより、クラッシュのトリアージにかかる時間を短縮し、背後にある個別の問題を特定できます。
- さらに分かりやすくするため、コンソールで各ユニークな問題の横にタグが表示されます。1つはクラッシュの種類を示し、もう1つは報告されたクラッシュのアプリフレームワーク(Native、React Native、Flutter)を示します。
クラッシュレポートの分析
Appticsのクラッシュトラッキングには、シンボリケートされたクラッシュレポートやエラーログ、スタックトレース、スレッド、デバイス詳細、クラッシュ環境、ブレッドクラム、そのほかの診断情報が含まれており、問題の根本原因の特定とデバッグに役立ちます。
- ユニークな問題一覧から個別の問題をクリックすると、さらに詳細が確認できます。
- タイムライングラフには、クラッシュの合計数と影響を受けたデバイスのユニーク数が時間別に表示されます。各ユニークな問題ごとのクラッシュ件数、影響を受けたデバイス数、最新の影響を受けたアプリバージョンなどの統計も確認できます。
- その他のグラフでは、影響を受けたデバイス、OSバージョン、アプリバージョンの分析情報が確認できます。
スタックトレース
- 初期設定でシンボリケートされたスタックトレースと現在のスレッドを確認でき、デバッグや問題解決に役立ちます。すべてのスレッドを表示をクリックすると、全スレッドを含むスタックトレース全体を表示できます。
- 何らかの理由でシンボリケートまたはデオブフスケートされたスタックトレースが表示されない場合、iOSではSymbolicate、AndroidではDeobfuscateをクリックしてください。
- <> 生データ textボタンをクリックすると、問題に関する生データを含むフルスタックトレースを表示できます。
- crash_log。txtをクリックしてクラッシュファイルをダウンロードし、必要に応じてローカル環境でシンボリケートできます。
AI分析
AI分析をクリックすると、デバイス情報、クラッシュ概要、分析、結論、利用可能な場合は対策を含むAI作成のクラッシュ分析レポートを取得できます。
個別クラッシュインスタンスの分析
- リストを表示をクリックすると、クラッシュ詳細ページでこの一意の問題によって発生したすべてのクラッシュインスタンスの一覧が表示されます。
- 一覧には、影響を受けたデバイスモデル、アプリバージョン、OSバージョン、デバイスID、クラッシュが発生した時刻、Appticsで受領済みとなった時刻などの詳細が含まれます。
デバイスタイムライン
- 個別のクラッシュインスタンスをクリックすると、デバイスタイムラインが表示されます。これにより、そのデバイスで発生したクラッシュインスタンスの詳細が確認できます。
- デバイスタイムラインでは、以下のようなデバイス固有の情報の詳細が表示されます。
- Apptics SDKバージョン
- アプリバージョン
- OSバージョン
- バッテリーステータス
- ネットワークEDGE
- WiFi強度
- デバイスの向き
- デバイスID
- デバイスモデル
- UUID
Breadcrumbsとセッションデータ
さらに詳細を深掘りし、セッションデータを分析できます。これは、クラッシュインスタンスが発生したセッション中に実行された処理、API通話、画面の痕跡です。
ユーザーセッションの詳細を表示をクリックすると、デバイスID(および利用可能な場合はユーザーID)に関連付けられているすべてのセッションのデータを表示できます。
- 処理トレースでは、問題発生時に行われた処理が表示されます。
- API通話トレースでは、問題発生時に実行されたすべてのAPI通話の一覧が表示されます。
- 画面トレースでは、問題発生時に表示されたすべての画面の一覧が表示されます。
ユーザー情報とカスタムプロパティ
-
カスタムプロパティを表示をクリックすると、特定のクラッシュに利用可能な
カスタムプロパティがあるかどうかを確認できます。
- 個人情報が利用可能をクリックすると、ユーザーIDやメールアドレス(利用可能な場合)などのユーザー情報を取得できます。
メモ: ユーザー情報の表示は役割に基づく操作であり、適切な役割と権限を持つプロジェクトメンバーのみが表示できます。ユーザー情報が表示されるたびに、Zohoのプライバシーポリシーに従って、Appticsコンソールのプロジェクト監査ログにデータが作成されます。
課題管理
課題の優先順位付け
クラッシュを重大度に基づいて優先順位付けできます。重大度は、表示ストッパー、クリティカル、メジャーアップデート、マイナーアップデート、またはなしとして設定できます。
課題解決のために協力する
- チームメンバーがコメント、タグ付け、担当者の割り当てを行い、個人の課題を迅速に解決できるようにします。
- Appticsでは、コンソール内で課題を管理するオプションが提供されています。これはAppticsをプロジェクト管理ツールと連携していない場合に利用できます。コンソール内で課題の対応やクローズが可能です。「すべて」「開く」「完了済み」の課題を表示できます。
Zoho Projectsで課題を割り当てる
- Zoho Projectsをご利用の場合、Zoho Appticsと連携し、課題を「課題」として割り当てて効率的に管理できます。(Zoho Projects連携ガイドを参照してください。)
- Zoho Projectsの連携を有効にすると、「Unique Issues」リストに「プロジェクト」という追加の列が表示され、「Assign」オプションが利用可能になります。
- Assignをクリックして、個人の課題をZoho Projectsの「課題」として割り当てます。
- ポップアップにすべての詳細を入力し、Assign bugをクリックします。課題はプロジェクト内の担当者に割り当てられます。
クラッシュの通知を即時取得する
- Zoho CliqまたはSlackをご利用の場合は、Zoho Appticsとの連携を有効にすることで、Appticsで報告されたクラッシュについて、専用のCliqチャンネルやSlackワークスペースでリアルタイム通知を受け取ることができます。
クラッシュを検索する
デバイスIDやユーザーID、プラットフォーム、アプリバージョン、課題、ユーザーグループなど、特定のユーザーの詳細に基づいてクラッシュを検索できます。