New Relic .NET MAUI エージェントは、.NET MAUI モバイル アプリを監視し、アプリのパフォーマンス、エラー、ユーザー エクスペリエンスについての深い洞察を提供します。.NET MAUI エージェントをインストールして構成すると、次のことができるようになります。
Capture C# errors:
問題を迅速に特定して修正します。
Track network requests:
アプリがバックエンドとどのように対話するかを確認します。
Use distributed tracing:
処理された例外をドリルダウンして、根本原因を見つけます。
Create custom events and metrics:
ユーザーがアプリをどのように操作するかを理解します。
one.newrelic.com > All capabilities > Mobile > (select your .NET MAUI app) > Summary: .NET MAUI データを表示し、HTTP リクエストとエラーを追跡し、アプリのパフォーマンスを時間の経過とともに監視します。
(推奨) ガイド付きインストール
.NET MAUI エージェントをインストールするには、UI に直接ある ガイド付きインストールに従ってください。
手動インストール
エージェントを手動でインストールする必要がある場合は、次の手順に従います。
要件を確認する
.NET MAUI エージェントをインストールする前に、アプリが次のバージョン要件を満たしていることを確認してください。
.NET バージョン 7.0 以降
Android ネイティブ アプリの場合: Android 7 (API 24) 以降
iOS ネイティブ アプリの場合:
- iOS 11以降
- Xcodeの最新リリース
.NET MAUI エージェントをプロジェクトに追加する
まず、エージェントである NuGet パッケージを MAUI プロジェクトに追加する必要があります。
.NET MAUI ソリューションを開き、エージェントを追加するプロジェクトを選択して、そのコンテキスト メニューを開きます。
Add > Add NuGet packages
をクリックし、
NewRelic.MAUI.Plugin
を選択します。
UI からアプリケーション トークンをコピーします。
アプリケーション トークンは、New Relic が .NET MAUI アプリのデータを認証するために使用されます。New Relic UI でアプリケーション トークンを表示およびコピーするには:
に移動し、
Integrations & Agents
をクリックしてから、
Mobile
をクリックします。
.NET MAUI アプリを選択します。
Settings > Application
に移動し、表示された
Application token
をコピーします。
このアプリケーション トークンは、次の手順で追加します。
エージェント構成ファイルを .NET MAUI プロジェクトに追加します。
プロジェクトで MauiProgram.cs
を開き、次のコードを追加します。
using NewRelic.MAUI.Plugin;...
public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp<App>() .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); });
builder.ConfigureLifecycleEvents(AppLifecycle => { #if ANDROID AppLifecycle.AddAndroid(android => android .OnCreate((activity, savedInstanceState) => StartNewRelic())); #endif #if IOS
AppLifecycle.AddiOS(iOS => iOS.WillFinishLaunching((_,__) => { StartNewRelic(); return false; })); #endif }); return builder.Build(); }
private static void StartNewRelic() {
CrossNewRelic.Current.HandleUncaughtException();
// Set optional agent configuration // Options are: crashReportingEnabled, loggingEnabled, logLevel, collectorAddress, crashCollectorAddress, analyticsEventEnabled, networkErrorRequestEnabled, networkRequestEnabled, interactionTracingEnabled, webViewInstrumentation, fedRampEnabled, offlineStorageEnabled, newEventSystemEnabled, backgroundReportingEnabled // AgentStartConfiguration agentConfig = new AgentStartConfiguration(crashReportingEnabled:false);
if (DeviceInfo.Current.Platform == DevicePlatform.Android) { CrossNewRelic.Current.Start("<APP-TOKEN-HERE>"); // Start with optional agent configuration // CrossNewRelic.Current.Start("<APP-TOKEN-HERE>", agentConfig); } else if (DeviceInfo.Current.Platform == DevicePlatform.iOS) { CrossNewRelic.Current.Start("<APP-TOKEN-HERE>"); // Start with optional agent configuration // CrossNewRelic.Current.Start("<APP-TOKEN-HERE>", agentConfig); } }
アプリケーション トークンを上記のコードのappToken = "<APP-TOKEN-HERE>"
に貼り付けてください。ハイブリッド アプリを iOS と Android の両方のプラットフォームにデプロイした場合は、2 つの個別のトークン (iOS 用と Android 用) を追加する必要があります。
画面追跡イベント
.NET MAUI モバイル プラグインを使用すると、.NET MAUI シェル内でナビゲーション イベントを追跡できます。 これを行うには、 App.xaml.cs
で次のものを呼び出すだけです。
public App() { InitializeComponent();
MainPage = new AppShell(); CrossNewRelic.Current.TrackShellNavigatedEvents();
}
エージェントを起動するときに、このメソッドを呼び出すことをお勧めします。 これらのイベントは、ナビゲーションが完了した後にのみ記録されます。 このデータは、 MobileBreadcrumb
のデータ エクスプローラー (名前ShellNavigated
の下) または NRQL クエリによって見つけることができます。
SELECT * FROM MobileBreadcrumb WHERE name = 'ShellNavigated' SINCE 24 HOURS AGO
ブレッドクラムには 3 つの属性が含まれます。
Current
: 現在のページの URI。Source
: 発生したナビゲーションのタイプ。Previous
: 前のページの URI。 前のページが null の場合、これは存在しません。
(Android のみ) 権限を追加する
Android ネイティブ アプリをお持ちの場合は、 Platforms/Android/AndroidManifest.xml
ファイルに INTERNET
権限と ACCESS_NETWORK_STATE
権限を追加する必要があります。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" />
エージェントのインストルメンテーションをカスタマイズする
エージェントのインストルメンテーションをカスタマイズする必要がありますか?パブリック モバイル SDK API メソッドを使用すると、カスタム データの収集、デフォルト設定の構成などが可能になります。
.NET MAUI エージェントでは次のカスタマイズが可能です。
あなたがしたい場合は... | この方法を使用してください |
---|---|
ブレッドクラムを記録して、クラッシュのトラブルシューティングに役立つアプリのアクティビティを追跡します。 | |
メソッドをインタラクションとして追跡します。 | |
カスタムメトリクスの記録 | |
処理された例外を記録します。 | |
カスタム属性とイベントを記録します。 | カスタム属性とイベントをレポートするには、いくつかの方法があります。 |
カスタム ネットワーク リクエストと障害を追跡します。 | |
エージェントをシャットダウンします。 | |
デフォルトのモバイル監視設定を有効/無効にします。 | |
テストクラッシュレポートを実行します。 |
HTTP エラーのトラブルシューティング
UI に HTTP データがありませんか?
.NET MAUI エージェントをインストールした後、少なくとも 5 分間待ちます。HTTP エラーおよび HTTP リクエスト UI ページに HTTP データが表示されない場合は、 HttpClient
で HttpMessageHandler
を使用したことを確認してください。