モバイル RUM 対応環境
このページには、次のモバイルエージェントでサポートされている環境がリストされています。
Android エージェント
| 対応環境 | Name | サポートされるバージョン |
|---|---|---|
| [Operating System] | Android | 2.3.3 以降 |
| アーキテクチャ | arm64-v8a、armeabi、armeabi-v7a、mips、mips64、x86、および x86_64 | - |
| フレームワーク | Ant | - |
| Gradle | 0.6.3 - 8.0 | |
| Maven | 3.1.1 以降 | |
| クラッシュレポート | モバイル RUM は、サードパーティのクラッシュレポータを公式にはサポートしていません。 | N/A |
その他の HTTP ライブラリ | 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 Agent
| Supported Environments | Name | Supported Version(s) |
|---|---|---|
| Operating System | iOS | >= 9 |
| Architecture | Apple 32-bit ARM, Apple 64-bit A7 | - |
| Framework | Xcode | >= 12.5 |
| Crash Reporters | Mobile RUM does not officially support 3rd-party crash reporters. | N/A |
Apple WatchKit Extension Environments | watchOS | 1 |
HTTP Libraries | NSURLConnection | - |
NSURLSession | - | |
| Alamofire - Initialize the iOS Agent before initializing Alamofire to ensure that network requests are monitored. If you need to make a network request(s) prior to iOS Agent initialization, see Alamofire Guidelines. | - | |
| Other HTTP libraries can be added by using the agent SDK. See Customize the iOS Instrumentation for more information. | - |
Alamofire Guidelines
If you need to use Alamofire to make a network request(s) prior to initializing the iOS Agent, you can use the following sample code as a guideline for making the necessary changes.
To ensure that Alamofire network requests made after iOS agent initialization will be instrumented, you can initialize a custom instance of Session (the principle class defined in Alamofire 5, renamed from previous Alamofire versions). This will create a new instance of URLSession, which can be instrumented by the iOS Agent. Any Alamofire network requests made prior to the agent initialization and creation of the Session instance cannot be instrumented by the agent.
- The order of operations in this code is very important. See the inline comments.
- This code assumes you are initially creating a customized instance of
Session(which is common practice). If not, you can eliminate the first usage of customizedSessionand defer its creation until after the iOS agent initialization. - You can test this code by going to https://www.google.com/?q=request%202, which is instrumented because it occurs after the replacement of
mySessionwithinstrumentedSession. The other two requests are not instrumented.
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 Agent
| Supported Environments | Name | Supported Version(s) |
|---|---|---|
| Operating System | Android | >= 2.3.3 |
| iOS | >= 9 | |
| Architecture | Xamarin.Android Supported CPU Architectures | - |
| Apple 32-bit ARM, Apple 64-bit A7 - See 32/64-bit platform considerations for information regarding the correct architecture for your iOS version. | - | |
| Framework | .NET - Mono | >= 4.8 |
| Crash Reporters | Mobile RUM does not officially support 3rd-party crash reporters. | N/A |
Apple WatchKit Extension Environments | Not supported | - |
| HTTP Libraries | N/A - The Xamarin Agent does not support automatic instrumentation for network requests made with any library. You will need to manually instrument HTTP network requests regardless of what library is used. | - |
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 Agent
| Supported Environments | Name | Supported Version(s) |
|---|---|---|
| Operating System | Android | >= 4.1 (with React Native Agent >= 20.10.1) |
| iOS | >= 11 (with React Native Agent >= 20.10.1) | |
| Architecture | Android: arm64-v8a, armeabi, armeabi-v7a, mips, mips64, x86, and x86_64 | - |
| iOS: Apple 64-bit A7 (with React Native Agent >= 20.10.1) | - | |
| Framework | React Native | >= 0.60 and <= 0.70.6 (with React Native Agent >= 20.10.1) >= 0.60 and <= 0.72.5 (with React Native Agent >= 24.1.0) < 0.60 (with React Native Agent 20.7.0) |
| Crash Reporters | Mobile RUM does not officially support 3rd-party crash reporters. | N/A |
Apple WatchKit Extension Environments | Not supported | - |
| HTTP Libraries | Android:
| - |
iOS:
| - |