モバイルエージェントでサポートされている環境のリストについては、次を参照してください。


Android エージェント

対応環境名前サポートされるバージョン
Operating SystemAndroid2.3.3 以降
Architecturearm64-v8a、armeabi、armeabi-v7a、mips、mips64、x86、および x86_64-
Frameworks  Ant-
Gradle0.6.3 以上
Maven3.1.1 以降
Crash Reportersモバイル RUM は、サードパーティのクラッシュレポータを公式にはサポートしていません。なし

HTTP Libraries

    
HttpURLConnection/HttpsURLConnection-
HttpClient-
OkHttp2.2.0 ~ 3.9.0
ch.boye.httpclientandroidlib-
retrofit-
retrofit2-
その他の HTTP ライブラリは、エージェント SDK を使用して追加できます。詳細については、「Android インストゥルメンテーションのカスタマイズ」を参照してください。-


Android Gradle プラグインのバージョンAndroid エージェントの最小バージョン
0.6.33.8.2.0
0.7.30.9.23.8.3.0
0.10.00.12.0

3.9.0.0

1.1.21.1.3

4.0.3.3

1.3.01.4.04.0.7
1.5.02.2.0

4.2.0*

2.3.0 ~ 3.4.0(Build Tools 25.0.0 以上を強制)4.2.9
3.4.1 以降20.7.1 以降

Android エージェントのバージョンの推奨事項

  • プロジェクトで Android Gradle プラグインのバージョン 3.4.1 より前を使用している場合は、Android エージェント 20.4.0 を使用します。

  • プロジェクトで Android Gradle プラグインのバージョン 3.4.1 以降を使用している場合は、Android エージェント 20.7.1 以降を使用します。

*4.2.9 より前の Android エージェントのプラグインバージョンは、クラスファイルで生成された Java 8 バイトコードにより、Android Build Tools バージョン 24 以降と互換性がありません。

iOS エージェント

対応環境名前サポートされるバージョン
Operating SystemiOS9 以降
ArchitectureApple 32 ビット ARM、Apple 64 ビット A7-
FrameworkXcode8 以降
Crash Reportersモバイル RUM は、サードパーティのクラッシュレポータを公式にはサポートしていません。なし

Apple WatchKit Extension Environments

watchOS1
HTTP Libraries
NSURLConnection-
NSURLSession-
Alamofire:Alamofire を初期化する前に iOS エージェントを初期化し、ネットワークリクエストがモニタされるようにします。iOS エージェントの初期化の前にネットワークリクエストを実行する必要がある場合は、「Alamofire のガイドライン」を参照してください。-
その他の HTTP ライブラリは、エージェント SDK を使用して追加できます。詳細については、「iOS インストゥルメンテーションのカスタマイズ」を参照してください。-

Alamofire のガイドライン

iOS エージェントを初期化する前に Alamofire を使用してネットワークリクエストを実行する必要がある場合は、次のサンプルコードをガイドラインとして使用して、必要な変更を加えることができます。

iOS エージェントの初期化後の Alamofire ネットワークリクエストが確実にインストゥルメント化されるようにするには、Session(前の Alamofire バージョンから名前が変更された、Alamofire 5 で定義された原則クラス)のカスタムインスタンスを初期化します。これにより、URLSession の新しいインスタンスが作成されるため、iOS エージェントによってインストゥルメント化できます。エージェントの初期化とセッションインスタンスの作成より前の Alamofire ネットワークリクエストを、エージェントはインストゥルメント化できません

  • 次のコードの操作の順序は非常に重要です。インラインコメントを参照してください。
  • 次のコードは、Session のカスタマイズされたインスタンスを最初に作成することを前提としています(これは一般的な方法です)。そうでない場合は、カスタマイズされた Session の最初の使用については削除し、iOS エージェントの初期化が完了するまで作成を延期できます。
  • 次のコードをテストするには、https://www.google.com/?q=request%202 にアクセスします。これは、mySessioninstrumentedSession に置き換えた後のため、インストゥルメント化されます。他の 2 つのリクエストはインストゥルメント化されません。
import UIKit
import Alamofire
import ADEUMInstrumentation

var mySession:Session?					// customized Session singleton

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    
	func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
		// Override point for customization after application launch.

		// create customized instance of AF Session
		let myConfiguration = URLSessionConfiguration.af.default
		mySession = Session(configuration: myConfiguration)
		
		let myUrl1 = URL(string: "https://www.google.com/?q=request%201")!
		let urlRequest1 = URLRequest(url: myUrl1)
		
		// the first network request prior to ADEumInstrumentation.initWith will not be instrumented
		mySession?.request(urlRequest1 as URLRequestConvertible).response {
			response in debugPrint(response)
			
			// initialize iOS agent
			let config = ADEumAgentConfiguration(appKey: "XX-XXX-XXX-XXX")
			config.loggingLevel = .all
			ADEumInstrumentation.initWith(config)
			
			// update our Session instance singleton, instrumentedSession, so that URLSession will be instrumented
			let myConfiguration = URLSessionConfiguration.af.default
			let instrumentedSession = Session(configuration: myConfiguration)
			// replace mySession with instrumentedSession
			mySession = instrumentedSession
			
			// subsequent requests use updated mySession from instrumentedSession, so should be instrumented
			let myUrl2 = URL(string: "https://www.google.com/?q=request%202")!
			let urlRequest2 = URLRequest(url: myUrl2)
			mySession?.request(urlRequest2 as URLRequestConvertible).response {
				response in debugPrint(response)
			}
		}
		// has instrumentedSession been created yet? Indeterminate. If not, this request won't be instrumented
		let myUrl3 = URL(string: "https://www.google.com/?q=request%203")!
		let urlRequest3 = URLRequest(url: myUrl3)
		mySession?.request(urlRequest3 as URLRequestConvertible).response {
			response in debugPrint(response)
		}
		return true
	}
    
}
CODE

Xamarin エージェント

対応環境名前サポートされるバージョン
Operating SystemAndroid2.3.3 以降
iOS

9 以降

ArchitectureXamarin.Android でサポートされる CPU アーキテクチャ-

Apple 32 ビット ARM、Apple 64 ビット A7:iOS バージョンの正しいアーキテクチャに関する情報については、「32/64-bit platform considerations」を参照してください。-
Framework.NET - Mono4.8 以降
Crash Reportersモバイル RUM は、サードパーティのクラッシュレポータを公式にはサポートしていません。なし

Apple WatchKit Extension Environments

サポート対象外-
HTTP Libraries該当なし:Xamarin エージェントは、任意のライブラリで作成されたネットワークリクエストの自動インストゥルメンテーションをサポートしていません。どのライブラリが使用されているかに関係なく、手動で HTTP ネットワークリクエストをインストゥルメントする必要があります。-

Cordova プラグイン

対応環境名前サポートされるバージョン
Operating SystemAndroid4.4 ~ 8.1
iOS

9 以降

Architecture

Android:arm64-v8a、armeabi、armeabi-v7a、mips、mips64、x86、および x86_64

-
iOS:Apple 32 ビット ARM、Apple 64 ビット A7-
FrameworkApache Cordova7 以降
Crash Reportersモバイル RUM は、サードパーティのクラッシュレポータを公式にはサポートしていません。なし

Apple WatchKit Extension Environments

サポート対象外-
HTTP Libraries

Android:

  • HttpURLConnection/HttpsURLConnection
  • HttpClient
  • OkHttp
  • ch.boye.httpclientandroidlib
-

iOS:

  • NSURLConnection
  • NSURLSession
-

React Native エージェント

対応環境名前サポートされるバージョン
Operating SystemAndroid4.1 以降(React Native エージェント 20.10.1 以降を使用)
iOS

11 以降(React Native エージェント 20.10.1 以降を使用)

Architecture

Android:arm64-v8a、armeabi、armeabi-v7a、mips、mips64、x86、および x86_64

-
iOS:Apple 64 ビット A7(React Native エージェント 20.10.1 以降を使用)-
FrameworkReact Native

0.60 以降(React Native エージェント 20.10.1 以降を使用)

0.60 より前(React Native エージェント 20.7.0 を使用)

Crash Reportersモバイル RUM は、サードパーティのクラッシュレポータを公式にはサポートしていません。なし

Apple WatchKit Extension Environments

サポート対象外-
HTTP Libraries

Android:

  • HttpURLConnection/HttpsURLConnection
  • HttpClient
  • OkHttp
  • ch.boye.httpclientandroidlib
-

iOS:

  • NSURLConnection
  • NSURLSession
-