GraftQL マニュアル
変更履歴

クラッシュ/エラー報告

このページでは、アプリが予期せず停止したときや画面の描画でエラーが起きたときに、診断情報をあなたの同意のうえで開発元へ送る機能の使い方を説明します。

概要

GalleonQL には、アプリが予期せず停止したり、画面の描画でエラーが起きたりしたときに、その内容を開発元へ 送信できる「クラッシュ報告」機能があります。次の 3 点を覚えておいてください。

  • この機能は**既定で無効(OFF)**です。
  • 有効にしていても、送信前には毎回、送られる内容の全文を確認するダイアログが表示されます。自動送信は ありません。
  • 送信先は開発元だけが確認できる非公開の窓口で、公開や第三者への共有はされません。

前提

クラッシュ報告とは

GalleonQL が予期せず停止した場合や、画面の描画中にエラーが発生した場合、GalleonQL はその内容を端末内に一時 保存します。送信するかどうかは必ずあなたが選びます。 設定を有効にしていても、送信前には毎回、 送られる内容を全文確認するダイアログが表示されます。

操作手順

1. 設定でクラッシュ報告を有効/無効にする

  1. トップバーの 設定(⚙) を開きます。
  2. 「クラッシュ報告」欄の 「クラッシュ報告を送信する」 チェックボックスで on / off を切り替えます。 既定は OFF です。すぐ下に「利用分析」(利用分析)のトグルもありますが、 同意は別管理で、片方を切り替えてももう片方には影響しません。

チェックを外している間も、クラッシュ自体は検知されて端末内に一時保存されますが、確認なしに送信される ことはありません

2. クラッシュ後、次回起動時に表示される案内

GalleonQL が予期せず停止した後、次にアプリを起動すると、保存されている内容と設定に応じて次のいずれかが 表示されます。

状況 表示される画面
設定が OFF、かつこの案内をまだ見ていない 「クラッシュを検出しました」という軽い案内(有効にして内容を確認するか、今はしないかを選べる)
設定が OFF、かつ既にこの案内を見たことがある 何も表示されません(保存内容は残りますが、次に設定を ON にするまで再度は案内されません)
設定が ON 送信内容を全文表示する確認ダイアログが毎回表示されます

「有効にして内容を確認」を選ぶと、設定が ON になり、そのまま送信内容の確認ダイアログに進みます。 「今はしない」を選ぶと、今回は何もせず、次回以降この軽い案内は表示されなくなります(送信もされません)。

3. 送信前の確認ダイアログで内容を確認する

確認ダイアログには、送信される項目がすべて表示されます。

項目 内容
アプリバージョン GalleonQL のバージョン
OS 実行環境の OS・CPU アーキテクチャ
発生日時 クラッシュ/エラーの発生日時
種別 「アプリの停止」または「画面のエラー」
分類(あれば) エラーの簡易分類
発生位置(あれば) ファイル名・行番号など
メッセージ エラーメッセージ全文
バックトレース(あれば) スタックトレース全文
匿名 ID 個人に紐付かない、この端末の匿名識別子

メッセージ・バックトレースは、後述のマスク処理を施した状態で全文表示されます。内容を確認し、 次のいずれかを選びます。

  • 「送信する」: 開発元へ送信します。送信後、保存されていた内容は削除されます。
  • 「送信しない(破棄)」: 送信せずに保存内容を削除します。

いずれを選んでも保存内容は消え、新しいクラッシュが発生するまで、このダイアログは再表示されません。

送られる内容・送られない内容(マスク)

送られる可能性があるもの: 上表の項目(アプリバージョン・OS・発生日時・種別・エラーメッセージ・ バックトレース・匿名 ID など)。

送られないもの: リクエスト履歴・保存したクエリ・環境変数・ヘッダー・認証トークン・GraphQL 変数などの アプリのデータそのものは、送信対象に含まれません。送れる項目はあらかじめ決められた項目に限られています。

マスク処理: エラーメッセージやバックトレースには、実行環境のファイルパスなどが含まれることがあります。 GalleonQL は送信前に、次のような内容を自動的に伏せ字にします。

  • ホームディレクトリ配下のユーザー名(例: /Users/galleonql/...<HOME>/...
  • URL(例: https://api.example.com/graphql?token=...<URL>
  • 認証トークン・Bearer トークン・JWT・パスワードらしき値
  • {{token}} のような環境変数のプレースホルダ

⚠️ 重要: このマスクは既知のパターンに基づく自動処理であり、完全な匿名化を保証するものではありません。 想定外の形式の情報が残ってしまう可能性があります。そのため GalleonQL は「マスクしたから安全」とは考えず、 送信前に必ず内容を全文確認できるダイアログを挟むことを最終的な担保としています。内容に見覚えのない 情報や気になる文字列が含まれている場合は、迷わず「送信しない(破棄)」を選んでください。

対象となるクラッシュ・対象外のクラッシュ

種類 対象
アプリの異常終了(強制終了・起動失敗) 対象
画面描画中のエラー(操作するとエラー画面になる等) 対象
OS レベルの強制終了(フリーズ・強制終了によるクラッシュ等) 対象外(現時点では検知・送信されません)

画面描画中にエラーが発生した場合、次のような再読み込み画面が表示されることがあります。

  • 見出し「画面の描画でエラーが発生しました」
  • 「アプリを再読み込みしてください。エラーの詳細は次回起動時にクラッシュ報告として確認できます。」
  • 「再読み込み」ボタン

「再読み込み」を押すとアプリが読み込み直され、エラーの詳細は次回起動時にクラッシュ報告として確認できます。

エラー時の対処

症状 想定される原因 対処
「送信する」を押しても「送信に失敗しました: …」と表示される ネットワーク接続の問題、または送信先の一時的な不調 ネットワークを確認し、もう一度「送信する」を押す。ダイアログは閉じないため、保存内容は失われません
クラッシュが起きたはずなのに、次回起動時に何も表示されない 設定が OFF で、かつ既にこの案内を一度見ている(同じ内容の再案内はしない) 使いたい場合は、設定で「クラッシュ報告を送信する」を ON にする
フリーズ・強制終了した後、クラッシュ報告の案内が一切出ない OS レベルの強制終了は現時点で対象外 仕様どおりの挙動です。再現手順があれば、開発元へ別途ご連絡ください
画面が真っ白・操作不能になり「画面の描画でエラーが発生しました」の画面が出た 画面側で処理できないエラーが発生した 「再読み込み」ボタンで読み込み直す。次回起動時にエラー内容をクラッシュ報告として確認できます

関連ドキュメント