モバイル RUM 対応環境
このページには、次のモバイルエージェントでサポートされている環境がリストされています。
Android エージェント
| 対応環境 | Name | サポートされるバージョン |
|---|---|---|
| Operating System | Android | 2.3.3 以降 |
| Architecture | arm64-v8a、armeabi、armeabi-v7a、mips、mips64、x86、および x86_64 | - |
| Frameworks | Ant | - |
| Gradle | 0.6.3 - 8.0 | |
| Maven | 3.1.1 以降 | |
| Crash Reporters | モバイル RUM は、サードパーティのクラッシュレポータを公式にはサポートしていません。 | N/A |
|
HTTP Libraries | HttpURLConnection / HttpsURLConnection | - |
HttpClient | - | |
OkHttp | 2.2.0 ~ 3.9.0 | |
ch.boye.httpclientandroidlib | - | |
retrofit | - | |
retrofit2 | - | |
| その他の HTTP ライブラリは、エージェント SDK を使用して追加できます。詳細については、「Android インストルメンテーションのカスタマイズ」を参照してください。 | - |
| Android Gradle プラグインのバージョン | Android エージェントの最小バージョン |
|---|---|
| 0.6.3 | 3.8.2.0 |
| 0.7.3 ~ 0.9.2 | 3.8.3.0 |
| 0.10.0 ~ 0.12.0 |
3.9.0.0 |
| 1.1.2 ~ 1.1.3 |
4.0.3.3 |
| 1.3.0 ~ 1.4.0 | 4.0.7 |
| 1.5.0 ~ 2.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 以降 |
| 7.0 | 22.2.0 |
| 8.0 | 23.4.0 |
推奨事項
-
プロジェクトで 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 以降と互換性がありません。
Android Studio のサポート
- Android Studio 2.1.0 ~ 2.9.9、3.2.1 ~ 3.9.9(サポートなし:3.0.0 ~ 3.2.0、4.0 以降)
iOS エージェント
| 対応環境 | Name | サポートされるバージョン |
|---|---|---|
| Operating System | iOS | 9 以降 |
| Architecture | Apple 32 ビット ARM、Apple 64 ビット A7 | - |
| Framework | Xcode | 12.5 以降 |
| Crash Reporters | モバイル RUM は、サードパーティのクラッシュレポータを公式にはサポートしていません。 | N/A |
|
Apple WatchKit Extension Environments | watchOS | 1 |
|
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 にアクセスします。これは、
mySessionをinstrumentedSessionに置き換えた後のため、インストゥルメント化されます。他の 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
}
}
Xamarin エージェント
| 対応環境 | Name | サポートされるバージョン |
|---|---|---|
| Operating System | Android | 2.3.3 以降 |
| iOS |
9 以降 | |
| Architecture | Xamarin.Android でサポートされる CPU アーキテクチャ | - |
| Apple 32 ビット ARM、Apple 64 ビット A7:iOS バージョンの正しいアーキテクチャに関する情報については、「32/64-bit platform considerations」を参照してください。 | - | |
| Framework | .NET - Mono | 4.8 以降 |
| Crash Reporters | モバイル RUM は、サードパーティのクラッシュレポータを公式にはサポートしていません。 | N/A |
|
Apple WatchKit Extension Environments | 未対応 | - |
| HTTP Libraries | 該当なし:Xamarin エージェントは、任意のライブラリで作成されたネットワークリクエストの自動インストゥルメンテーションをサポートしていません。どのライブラリが使用されているかに関係なく、手動で HTTP ネットワークリクエストをインストゥルメントする必要があります。 | - |
Cordova プラグイン
| 対応環境 | Name | サポートされるバージョン |
|---|---|---|
| オペレーティングシステム | Android | 4.4 ~ 8.1 |
| iOS | 13 以降 | |
| アーキテクチャー | Android:arm64-v8a、armeabi、armeabi-v7a、mips、mips64、x86、および x86_64 | - |
| iOS:Apple 32 ビット ARM、Apple 64 ビット A7 | - | |
| フレームワーク | Apache Cordova | 7 以降 |
| Java Runtime Environment | Java | 17 |
| クラッシュレポート | モバイル RUM は、サードパーティのクラッシュレポータを公式にはサポートしていません。 | N/A |
| Apple WatchKit Extension 環境 | 未対応 | - |
| その他の HTTP ライブラリ | Android:
| - |
iOS:
| - |
React Native エージェント
| 対応環境 | Name | サポートされるバージョン |
|---|---|---|
| Operating System | Android | 4.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 以降を使用) | - | |
| Framework | React Native |
0.60 以降、0.70.6 以前(React Native エージェント 20.10.1 以降を使用) 0.60 以降、0.72.5 以前(React Native エージェント 24.1.0 以降を使用) 0.60 より前(React Native エージェント 20.7.0 を使用) |
| Crash Reporters | モバイル RUM は、サードパーティのクラッシュレポータを公式にはサポートしていません。 | N/A |
|
Apple WatchKit Extension Environments | 未対応 | - |
| HTTP Libraries |
Android:
| - |
|
iOS:
| - |