crashReporter

crash-reporterモジュールはアプリのクラッシュレポートを送信することができます。

リモートサーバーに自動的にクラッシュレポートを登録する例です。

const crashReporter = require('electron').crashReporter;

crashReporter.start({
  productName: 'YourName',
  companyName: 'YourCompany',
  submitURL: 'https://your-domain.com/url-to-submit',
  autoSubmit: true
});

メソッド

crash-reporterモジュールは次のメソッドを持ちます:

crashReporter.start(options)

options Object, properties:

  • productName String, デフォルト: Electron.
  • companyName String (必須)
  • submitURL String, (必須)
    • クラッシュレポートがPOSTで送信されるURL
  • autoSubmit Boolean, デフォルト: true.
    • ユーザーの判断なくクラッシュレポートを送信します
  • ignoreSystemCrashHandler Boolean, デフォルト: false.
  • extra Object
    • あなたが定義できるオブジェクトは、レポートと一緒に送信されます。
    • 文字列プロパティのみが正しく送信されます。
    • オブジェクトのネストはサポートしていません。

他のcrashReporterAPIを使用する前にこのメソッドをコールする必要があります。

Note: OS Xでは、Electronは、WindowsとLinux上のbreakpad とは異なる、新しいcrashpadクライアントを使用します。クラッシュ収集機能を有効にするために、メインプロセスや、クラッシュレポートを収集したいそれぞれのレンダラープロセスで、crashpadを初期化するためにcrashReporter.startAPIをコールする必要があります。

crashReporter.getLastCrashReport()

日付と最後のクラッシュレポートのIDを返します。もしなんのクラッシュレポートも送信されていないか、クラッシュレポーターが起動していない場合、nullを返します。

crashReporter.getUploadedReports()

滑ってのアップロードされたクラッシュレポートが返されます。それぞれのレポートには日付とアップロードされたIDが含まれます。

crash-reporter Payload

クラッシュレポーターはPOSTsubmitURL に次のデーターが送信されます。

  • ver String - Electronのバージョン
  • platform String - 例: 'win32'.
  • process_type String - 例: 'renderer'.
  • guid String - 例: '5e1286fc-da97-479e-918b-6bfb0c3d1c72'
  • _version String - package.jsonでのバージョン
  • _productName String - crashReporterでのプロダクト名 オプション object.
  • prod String - 基盤となる製品の名前。この場合は、Electronです。
  • _companyName String - crashReporterでの会社名 オプション object.
  • upload_file_minidump File - ファイル形式のクラッシュレポート
  • crashReporterでのextraオブジェクトのすべてのレベル1のプロパティ オプション object