Ichizokuは日本唯一のSentry公認販売業者です。
日本語のドキュメント、動画、サポート窓口で日本のお客様のSentry活用を支援します。

【Sentry Flutter SDK 9.0】Logs・Session Reply・Feature Flags などをご紹介

Article by: Gino BuenaflorSteve Zegalia
(本記事は2025/6/16に公開された記事です)

 

「Null check operator used on a null value(null 値に対して null チェック演算子が使われました)」とだけ書かれたエラーレポートを手がかりに Flutter アプリをデバッグしたことがあるなら、すでにご存じのとおり、コンテキストがすべてです。ですが、ネイティブコードや Dart、非同期スタックトレース、プラットフォームチャネルを同時に扱っていると、そのコンテキストを得るのは簡単ではありません。

そこで Flutter SDK v9 では、何が起きているのかをより可視化し、改善に役立つインサイトを得られる機能を導入しました。

新機能は次のとおりです。

  • モバイル向け Session Replay の一般提供(GA)対応:クラッシュ前にユーザーが何を見て(何を操作して)いたかを再現して確認できます。
  • Feature Flags(フィーチャーフラグ)対応:バグ発生時にどのフラグが有効だったかを把握できます。
  • Logs(現在 Open Beta)対応:ログをクラッシュやパフォーマンス問題と相関付けて確認できます。
  • ネイティブ JS エラー対応(Flutter Web):JS 連携(interop)を利用する Flutter Web アプリの可視性が向上します。
  • Release Health(Flutter Web)対応:リリースの普及状況、安定性、クラッシュフリーセッションについてより深いインサイトを得られます。
  • Traces と Errors の連携強化:アプリケーションコード内の特定の span と問題を相関付けて分析できます。

 

 

Flutter のモバイル向け Session Replay

クラッシュレポートは役に立ちますが、何が起きたのか実際に見る必要がある場面もあります。どのボタンがタップされたのか?どの画面にいたのか?視覚的なコンテキストがなければ、推測に頼るしかありません。

モバイル向け Session Replay を使えば、クラッシュ前にユーザーが実際に見て・操作した内容を、動画のように再現して確認できます(デフォルトではプライバシー設定により、すべてのテキストと画像はマスキングされ、機微なユーザー情報が収集されないようになっています)。

たとえば、古い Android 端末でフォーム送信を試みたときだけ、Flutter アプリのカスタムキーボードがたまに消えてしまうとします。ログだけでは解析が難しいケースです。

いまなら、セッションを再生してください!ユーザーが入力欄をタップし、キーボードがちらつき、そのまま送信されなかった、という一連の流れが確認できます。

Session Replay の詳細はこちら

 

 

Logs (open beta) are connected to errors and traces in Sentry
 

Feature Flags

モダンな Flutter アプリでは、UI のバリエーションをテストしたり、バックエンド依存の機能の段階的リリースを制御したりするために、フィーチャーフラグを使うことがよくあります。ですが、何かが壊れたとき、どのフラグが有効だったのかをどうやって把握しますか?

Sentry では、アクティブなフィーチャーフラグをイベントペイロードの一部として自動的に記録できます。つまり、問題が報告されたときに、その時点で有効だったフラグが問題詳細ページに即座に表示されるということです。推測も、調査も不要です。

たとえば、ユーザーが「設定メニューでテーマを切り替えるとアプリがクラッシュする」と報告してきたとします。Sentry のフィーチャーフラグコンテキストを確認すると、featureFlag.new_theme_engine: enabled と表示されているのが見えます。

これでクラッシュが新しいテーマシステムをテストしている実験グループ内だけに限定されていることがわかり、アプリ全体の問題ではないと判断できます。ログやロールアウト設定を掘り返すことなく、瞬時に影響範囲を特定できるのです。

Sentry におけるフィーチャーフラグの仕組みはこちら

Feature flags context is now available in Flutter

 

 

Flutter Web 向け Release Health

「これは単発のクラッシュなのか?それとも 20% のユーザーに影響しているのか?」「最新デプロイでクラッシュ率は下がったのか?」

Flutter Web でリリースを行うとき、こうした問いに答えられないことはありませんか?

今後は新しいリリースを配信するたびに、Sentry が自動的にクラッシュフリーセッション、導入率、ユーザーリテンションを追跡します。これはモバイルと同様です。これにより、安心してリリースできる(もしくは、問題が広がる前にすぐにロールバックできる)可視性を得られます。

Release Health の詳細はこちら

Release Health is now available for Flutter Web.

 

トレースとエラーの連携強化

従来の Sentry Flutter SDK では、エラーとパフォーマンストレースが別々に報告されることが多く、アプリケーション実行内の特定の span と課題を相関付けるのが難しい状況でした。たとえば、UI エラーが、関連するページロードやユーザー操作のトレースから切り離された単独の事象として表示されることがありました。

v9 では、エラーを対応するトレース/span に自動的にリンクするよう SDK を強化しました。これにより、エラー発生時に関連するパフォーマンストレースの文脈の中で確認でき、アプリ挙動への影響を包括的に把握できます。この改善により、アプリの実行フロー内でエラーを発生源まで遡って特定でき、デバッグが容易になります。

この強化は、「トレース内でエラーが span にリンクされない」という既知の問題に対処するもので、Flutter アプリの可観測性とデバッグ容易性を向上させます。

 

 

Flutter SDK v9 をはじめよう

Sentry Flutter SDK v9 はすでにご利用いただけます(既に Flutter SDK をお使いの方は移行ドキュメントをご確認ください)。ぜひお試しいただき、Discord または GitHub でご意見をお寄せください。Sentry を初めて利用される方は、無料で始められます

 

 

Original Page: Introducing Sentry’s Flutter SDK 9.0 – Logs, Session Replay, Feature Flags, and more

 




IchizokuはSentryと提携し、日本でSentry製品の導入支援、テクニカルサポート、ベストプラクティスの共有を行なっています。Ichizokuが提供するSentryの日本語サイトについてはこちらをご覧ください。またご導入についての相談はこちらのフォームからお気軽にお問い合わせください。

 

シェアする

Recent Posts