New Relic Flutter エージェントは、Flutter モバイル アプリを監視し、アプリのパフォーマンス、エラー、ユーザー エクスペリエンスに関する深い洞察を提供します。Flutter エージェントをインストールして構成すると、次のことができるようになります。
Capture Dart errors:
問題を迅速に特定して修正します。
Track network requests:
アプリがバックエンドとどのように対話するかを確認します。
Use distributed tracing:
処理された例外をドリルダウンして、根本原因を見つけます。
Create custom events and metrics:
ユーザーがアプリをどのように操作するかを理解します。
one.newrelic.com > All capabilities > Mobile > (select an app) > Summary: Flutter データを表示し、HTTP リクエストとエラーを追跡し、アプリのパフォーマンスを時間の経過とともに監視します。
(推奨) ガイド付きインストール
Flutter エージェントをインストールするには、UI に直接ある ガイド付きインストールに従ってください。
手動インストール
エージェントを手動でインストールする必要がある場合は、次の手順に従います。
要件を確認する
Flutter エージェントをインストールする前に、Flutter アプリが次のバージョン要件を満たしていることを確認してください。
フラッター 2.5.0 以降
Dart バージョン 2.16.2 以降、3.0.0 まで (3.0.0 を含まない)
Android ネイティブ アプリの場合:
- Android API 24 以上
- Android ネイティブの要件を参照してください
iOS ネイティブ アプリの場合:
- iOS ネイティブの要件を参照してください
プロジェクトに Flutter エージェントを追加する
まず、Flutter エージェントを dart プロジェクトに追加する必要があります。 pubspec.yaml
で、次を dependencies
に追加します。
dependencies: newrelic_mobile: 0.0.1
アプリケーション トークンをコピーします
アプリケーション トークンは、New Relic が Flutter アプリのデータを認証するために使用されます。New Relic UI でアプリケーション トークンを表示およびコピーするには:
に移動し、
Add data
をクリックしてから、
Mobile
をクリックします。
Flutter アプリを選択します。
Settings > Application
に移動し、表示された
Application token
をコピーします。
このアプリケーション トークンは、次の手順で追加します。
Flutter プロジェクトを構成する
Flutter プロジェクトで main.dart
を開き、次のコードを追加します。
import 'package:newrelic_mobile/newrelic_mobile.dart'; var appToken = ""; if (Platform.isAndroid) { appToken = "<android app token>"; // Replace with your application token copied from the New Relic UI. } else if (Platform.isIOS) { appToken = "<ios app token>"; // Replace with your application token copied from the New Relic UI. } Config config = Config(accessToken: appToken, //Android Specific // Optional: Enable or disable collection of event data. analyticsEventEnabled: true, // Optional: Enable or disable reporting successful HTTP requests to the MobileRequest event type. networkErrorRequestEnabled: true, // Optional: Enable or disable reporting network and HTTP request errors to the MobileRequestError event type. networkRequestEnabled: true, // Optional: Enable or disable crash reporting. crashReportingEnabled: true, // Optional: Enable or disable interaction tracing. Trace instrumentation still occurs, but no traces are harvested. This will disable default and custom interactions. interactionTracingEnabled: true, // Optional: Enable or disable capture of HTTP response bodies for HTTP error traces and MobileRequestError events. httpResponseBodyCaptureEnabled: true, // Optional: Enable or disable agent logging. loggingEnabled: true, // iOS specific // Optional: Enable or disable automatic instrumentation of WebViews webViewInstrumentation: true, //Optional: Enable or disable Print Statements as Analytics Events printStatementAsEventsEnabled : true, // Optional: Enable or disable automatic instrumentation of HTTP Request httpInstrumentationEnabled:true, // Optional: Enable or disable reporting data using different endpoints for US government clients fedRampEnabled: false, // Optional: Enable or disable offline data storage when no internet connection is available. offlineStorageEnabled: true ); NewrelicMobile.instance.start(config, () { runApp(MyApp()); }); class MyApp extends StatelessWidget { ....
アプリケーション トークンを上記のコードのappToken = ""
に貼り付けてください。ハイブリッド アプリを iOS と Android の両方のプラットフォームにデプロイした場合は、2 つの個別のトークン (iOS 用と Android 用) を追加する必要があります。
(Android のみ) Android アプリを構成する
Android ネイティブ アプリがある場合は、Android アプリに次の変更を加える必要があります。
アプリの
android/build.gradle
ファイルに次の変更を追加します。buildscript {...repositories {...mavenCentral()}dependencies {...classpath "com.newrelic.agent.android:agent-gradle-plugin:${latest_android_version}"}}newrelic
プラグインをandroid/app/build.gradle
ファイルの先頭に適用します。apply plugin: "com.android.application"apply plugin: 'newrelic' // <-- add thisAndroidManifest.xml
ファイルにINTERNET
およびACCESS_NETWORK_STATE
権限を追加します。<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />そして、あなたは完了です!5 分以内に New Relic でデータが表示されるようになります。
エージェントのインストルメンテーションをカスタマイズする
エージェントのインストルメンテーションをカスタマイズする必要がありますか?パブリック モバイル SDK API メソッドを使用すると、カスタム データの収集、デフォルト設定の構成などが可能になります。
Flutter エージェントでは次のカスタマイズが可能です。
あなたがしたい場合は... | この方法を使用してください |
---|---|
ブレッドクラムを記録して、クラッシュのトラブルシューティングに役立つアプリのアクティビティを追跡します。 | |
メソッドをインタラクションとして追跡します。 | |
カスタムメトリクスの記録 | |
エラーを記録します。 | |
カスタム属性とイベントを記録します。 | カスタム属性とイベントをレポートするには、いくつかの方法があります。 |
カスタム ネットワーク リクエストと障害を追跡します。 | |
エージェントをシャットダウンします。 | |
デフォルトのモバイル監視設定を有効/無効にします。 | |
テストクラッシュレポートを実行します。 |
HTTP エラーのトラブルシューティング
UI に HTTP データがありませんか?
Flutter エージェントをインストールした後、少なくとも 5 分間待ちます。HTTP エラーおよび HTTP リクエスト UI ページに HTTP データが表示されない場合は、Flutter アプリ内で HttpOverrides.global
をオーバーライドしていないことを確認してください。
Flutter ログデータのクエリ
New Relic は、Flutter ログをカスタム イベントとして保存します。次の NRQL クエリを使用して、これらのログをクエリし、それらのダッシュボードを構築できます。
SELECT * FROM `Mobile Dart Console Events` SINCE 30 MINUTES AGO
NRQLクエリの詳細については、 NRQLの概要を参照してください。