iOS および Android 用の公式の New Relic Capacitor プラグインを使用すると、開発者はモバイル エージェントをCapacitor アプリケーションに簡単に埋め込むことができます。JavaScript で記述されたこのプラグインには、New Relic のネイティブ エージェントが自動的に含まれ、モバイル モニタリングとパフォーマンスの可視性が提供されます。
特徴
New Relic Capacitor プラグインは次のことを行います。
- Capacitor を介して構築されたモバイル アプリケーションを自動的に計測する
- JavaScript エラーをキャプチャする
- 分散トレースを生成する
- promise の拒否を追跡する (JavaScript の未処理の例外)
- コンソール ログで警告とエラーを追跡する
- インタラクションとそのシーケンスをキャプチャ
- ユーザー セッションの追跡
詳細については、Github の New Relic Capacitor Plugin を参照してください。
要件
Capacitor プラグインをインストールする前に、アプリが次の要件を満たしていることを確認してください。
- Android API 24+
- iOS 10
- iOSネイティブ要件
- Androidのネイティブ要件
インストール
$npm install @newrelic/newrelic-capacitor-plugin$npx cap sync
イオンキャパシタのセットアップ
main.ts
(Angular または Vue) またはindex.tsx
(React) でのアプリの初期化で、New Relic エージェントを開始できます。次のコードを追加して、NewRelic を起動します (適切なアプリケーション トークンを入れることを忘れないでください)。
import { NewRelicCapacitorPlugin, NREnums, AgentConfiguration } from '@newrelic/newrelic-capacitor-plugin';import { Capacitor } from '@capacitor/core';
var appToken;
if(Capacitor.getPlatform() === 'ios') { appToken = '<IOS-APP-TOKEN>';} else { appToken = '<ANDROID-APP-TOKEN>';}
if(Capacitor.getPlatform() === 'ios') { appToken = '<IOS-APP-TOKEN>';} else { appToken = '<ANDROID-APP-TOKEN>';}
let agentConfig : AgentConfiguration = { //Android Specific // Optional:Enable or disable collection of event data. analyticsEventEnabled: 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 reporting successful HTTP requests to the MobileRequest event type. networkRequestEnabled: true,
// Optional:Enable or disable reporting network and HTTP request errors to the MobileRequestError event type. networkErrorRequestEnabled: 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,
// Optional:Specifies the log level. Omit this field for the default log level. // Options include: ERROR (least verbose), WARNING, INFO, VERBOSE, AUDIT (most verbose). logLevel: NREnums.LogLevel.INFO,
// iOS Specific // Optional:Enable/Disable automatic instrumentation of WebViews webViewInstrumentation: true,
// Optional:Set a specific collector address for sending data. Omit this field for default address. // collectorAddress: "",
// Optional:Set a specific crash collector address for sending crashes. Omit this field for default address. // crashCollectorAddress: ""
// Optional:Enable or disable sending JS console logs to New Relic. sendConsoleEvents: true}
NewRelicCapacitorPlugin.start({appKey:appToken, agentConfiguration:agentConfig})
AppToken はプラットフォーム固有です。Android アプリと iOS アプリ用に個別のトークンを生成する必要があります。
Android のセットアップ
New Relic ネイティブ Android エージェントをインストールします ( 手順はこちら)。
build.gradle
を更新:buildscript {...repositories {...mavenCentral()}dependencies {...classpath "com.newrelic.agent.android:agent-gradle-plugin:6.11.1"}}app/build.gradle
を更新:apply plugin: "com.android.application"apply plugin: 'newrelic' // <-- add this次の行を
AndroidManifest.xml
に追加して、アプリが INTERNET および ACCESS_NETWORK_STATE パーミッションを要求していることを確認します。<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
パッケージを自動的にリンクするには、プロジェクトを再構築します。
$# Android apps$ionic capacitor run android$
$# iOS apps$ionic capacitor run ios
APIコール
Capacitor プラグインは、iOS および Android SDK エージェントと同じ API 呼び出しを利用します。 iOS SDK doc または Android SDK docを参照してください。
Capacitor に固有のエラーについては、次のようにNewRelicCapacitorPlugin.recordError
を呼び出すことができます。
try { throw new Error('Example error message'); } catch (error: any) { NewRelicCapacitorPlugin.recordError({ name: error.name, message: error.message, stack: error.stack, isFatal: false, }); }
JavaScriptのエラー
Capacitor プラグイン v1.2.0 以降:
JavaScript エラーは、 Handled Exceptions
タブまたは MobileHandledException
イベントとして表示されます。次のクエリを使用すると、NRQL エクスプローラーでこれらのエラーを確認することもできます。
次のクエリを実行して、これらのエラーを見つけることもできます。
SELECT * FROM `MobileHandledException` SINCE 24 hours ago
Capacitor プラグイン v1.1.1 以下:
Capacitor プラグインは、JavaScript エラーのカスタム イベントを作成し、New Relic に報告します。UI では、これらの JavaScript エラー イベントをカスタム ダッシュボードで追跡できます。
カスタム ダッシュボードを作成するには:
one.newrelic.comにアクセスします。
[クエリ ビルダー]をクリックします。
次のクエリを実行します。
SELECT * FROM `JS Errors`Add to dashboard [ダッシュボードに追加]をクリックします。
one.newrelic.com > Query builder : Query builderを使用して、Capacitor アプリから JavaScript エラーを追跡するためのカスタム ダッシュボードを作成します。
ダッシュボードの使用を開始する際にサポートが必要な場合は、 ダッシュボードの概要 を参照してください。