@amazon-devices/sentry__react-nativeライブラリは、VegaプラットフォームにSentry用のReact Native SDKを実装します。
この段階では、Sentry機能の一部はVega用に設定されていません。Vega開発者フォーラムで質問を投稿したり、問題を報告したりできます。
インストール
package.jsonファイルにJavaScriptライブラリの依存関係を追加します。該当するReact Nativeバージョンのタブを選択してください。
- React Native 0.72
- React Native 0.83
npm installコマンドを使用して、依存関係をインストールします。
例
アプリの最上位でSentryを初期化します。 Sentryを初期化するには、Sentry.init({...})メソッドを使用します。必須のパラメーターはdsn(データソース名の略)のみです。dsnはSentryプロジェクトの設定ページで確認できます。
Sentry.setContext()やSentry.setUser()を使用して情報を追加することもできます。
APIリファレンス
Sentry.init(options: ReactNativeOptions)- Sentryを初期化します。この呼び出し以降、すべてのエラーがSentryによって報告されます。Sentry.init()を呼び出す前にアプリがクラッシュしたり、キャッチされないエラーをスローしたりしても、それはSentryでキャッチされません。Sentry.nativeCrash()- このメソッドはネイティブクラッシュをトリガーします。Vegaデバイスおよびシミュレーター上で動作することがテストにより確認されています。Sentry.setUser(user: User)- ユーザーデータ(例:username、email)を設定します。このデータはSentryイベントに含まれます。Sentry.setContext(contextKey: string, contextData: Object)- 渡されたcontextKeyの下に追加されるカスタムデータを設定します。このデータはSentryイベントに含まれます。Sentry.flush()- すべてのSentryイベントが送信されるまで待機します。Sentry.captureMessage(message: string)- メッセージイベントをキャプチャし、Sentryに送信します。Sentry.captureException(exception: Error)- 例外イベントをキャプチャし、Sentryに送信します。
その他の構成
Sentryエラーに読み取り可能なスタックトレースを追加する
アプリをビルドしたら、アプリのリリース名、バージョン、およびdist番号をSentryに通知し、JavaScriptバンドルとデバッグファイルのソースマップを送信する必要があります。これにより、Sentryがイベントを検出し、情報を読み取り可能なスタックトレースに正しくマッピングできます。 アプリをビルドすると、フォルダ構造は以下のようになります。-
Sentryリリースのメタデータを定義する
Sentryの初期化時にリリースバージョンとdistバージョンを作成します。
$SENTRY_RELEASE_VERSION(例:my-vega-project@2.3.12)と$SENTRY_DIST_NUMBER(例:52)を定義する必要があります。詳細については、Sentryの公式ドキュメント(英語のみ)を参照してください。 -
Sentry Metro Serializerを
metro.config.jsに追加して、アプリを再ビルドします。 -
sentry-cliをインストールします。詳細については、Sentryの公式ドキュメント(英語のみ)を参照してください。 -
Sentryのリリースを作成する
新しいSentryリリースを作成します。以前に定義した
$SENTRY_RELEASE_VERSIONを渡す必要があります。詳細については、Sentryの公式ドキュメント(英語のみ)を参照してください。 -
JavaScriptソースマップをアップロードする
JavaScriptシンボリケーションのソースマップをアップロードします。
sentry-wizardがまだサポートされていないことに注意してください。詳細については、Sentryの公式ドキュメント(英語のみ)を参照してください。
実装の詳細
- 現在、
sentry-wizardとReact Native Metro Pluginはサポートされていないことに注意してください。 @sentry/wizard- Vegaプロジェクトでは動作しません。withSentryConfigmetro tool - Vegaプロジェクトでは動作しません。Tracingは実装されていません。Profilingは実装されていません。
既知の問題
- Vegaではランタイムエラーのキャプチャが機能しません。
既知の制限事項
Sentry.init()でサポートされないオプション

