APM

New Relic Mobileエージェントセットアップ手順 (Android編)

所要時間:約 7分

本コンテンツは、投稿日時点での最新のAndroidアプリにおけるNew Relic Mobileエージェントのセットアップ手順を記載しています。最新の手順や詳細については、基本的にすべてドキュメントページに記載されているため、そちらをご参照ください。

 

アプリケーショントークン取得

まず最初に、アプリに組み込むためのトークンを以下の手順で取得してください。

  1. New Relicにログインし、画面右上の「+ Add more data」をクリック。
  2. 導入対象の選択肢のタイルが表示されるので、「Mobile monitoring」の「Android」をクリック。
  3. 「Get started with New Relic Mobile」の画面が、Androidが選択された状態で表示されます。
  4. 任意のアプリ名を「Name your app to begin」の項目に入力し「Continue」をクリックすることで、トークンが発行されます。(アプリ名は後からでも変更可能です)
  5. 「ProGuard only: Create a newrelic.properties file」の項目のコードスニペットの中にトークンが記載されるのでコピーして保存してください。
    application token for android agent

 

Agentの導入

Android Studioで、対象のプロジェクトを開き、以下の手順に従いAgentを導入してください。

  1. プロジェクトレベルのbuild.gradleを開き、dependenciesブロックに、
    classpath "com.newrelic.agent.android:agent-gradle-plugin:AGENT_VERSION
     を追加してください。AGENT_VERSIONこちらから最新版を確認し、ご記載してください。)
    android project build.gradle
  2. アプリレベルのbuild.gradleを開き、pluginsブロックに、id 'newrelic'を追加し、dependenciesブロックに、 
    implementation 'com.newrelic.agent.android:android-agent:AGENT_VERSION'
     を追記してください。AGENT_VERSIONは、プロジェクトレベルのbuild.gradleに記載したバージョンと同じバージョンを記載してください。)
    android app build.gradle
  3. build.gradleを編集・保存後、Android Studioの編集画面に現れる「Sync Now」をクリックし、プロジェクトを同期させてください。
  4. AndroidManifest.xmlに以下の2つのパーミッションを追加してください。(すでに追加されている場合は不要です)
    • <uses-permission android:name="android.permission.INTERNET" />
    • <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
       
      android permissions
  5. Agentを起動するため、Default ActivityにAgent起動用のコードを追加してください。
    1. importブロックに import com.newrelic.agent.android.NewRelic; を追加
    2. onCreate()の関数内に、 NewRelic.withApplicationToken("GENERATED_TOKEN").start(this.getApplication()); を追加GENERATED_TOKENは、前述のアプリケーショントークンの取得で取得したトークンに置き換えてください。)
      android init activity
  6. これで、モバイルモニタリングが開始できるようになりました。試しにクラッシュが取得できることが確認できるよう、任意の箇所(例えば特定のボタンをクリックしたときに動作するコード)に、 NewRelic.crashNow() を追加し、アプリをビルドして実行、クラッシュを発生させ、アプリを再起動してみてください。数分以内に、one.newrelic.comのMobileの画面で、クラッシュを確認することができます。
    android crash

 

Proguradの設定

Androidアプリをリリースビルドする場合、通常はProguardによる難読化が実施されます。Proguardを利用されている場合は、引き続き以下の設定を実施してください。(Dexguardをご利用の場合はこちらをご参照ください)

  1. アプリのルート(projectname/app)にnewrelic.propertiesという名前のファイルを作成し、com.newrelic.application_token=GENERATED_TOKENをファイルに書き込んで保存してください。GENERATED_TOKENは、前述のアプリケーショントークンの取得で取得したトークンに置き換えてください。)
    android newrelic properties
  2. 以下の3行を、ご利用のProGuard設定ファイル(proguard.cfg、proguard-android.txt、proguard-rules.proなど)に追加してください
    • -keep class com.newrelic.** { *; }
    • -dontwarn com.newrelic.**
    • -keepattributes Exceptions, Signature, InnerClasses, LineNumberTable, SourceFile, EnclosingMethod
      android proguard rule
  3. Apache HttpやOkHttpなどネットワークライブラリをご利用の場合、各ライブラリに対応するルールも追加してください。詳細は、こちらをご参照ください。

以上で基本的な設定は完了です。その他細かい設定の変更などは、以下の参考情報やドキュメントページをご参照ください。

 

その他参考情報

  1. Gradleプラグイン設定(releaseビルド以外でもmapファイルのアップロードを有効にするなど)
  2. Agentの設定や機能フラグの変更方法
  3. Android Instant Appsへの導入方法
  4. トラブルシューティング
  5. MobileAgentで収集されるデータの説明