- 重要な情報
- はじめに
- 用語集
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
エラー追跡は、RUM Android SDK から収集されたエラーを処理します。
Android のクラッシュレポートとエラー追跡を有効にすると、リアルユーザーモニタリングで包括的なクラッシュレポートとエラートレンドを取得できます。この機能により、以下にアクセスが可能になります。
クラッシュレポートは Error Tracking に表示されます。
まだ Android SDK をインストールしていない場合は、アプリ内セットアップ手順に従うか、Android RUM セットアップドキュメントを参照してください。
env
と variant
を構成します。任意のエラーについて、ファイルパス、行番号、関連するスタックトレースの各フレームのコードスニペットにアクセスすることができます。
以下のコードスニペットを使用して、Android Gradle プラグインを Gradle プロジェクトに追加します。
// In your app's build.gradle script
plugins {
id("com.datadoghq.dd-sdk-android-gradle-plugin") version "x.y.z"
}
Datadog 専用の API キーを作成し、環境変数として DD_API_KEY
または DATADOG_API_KEY
という名前でエクスポートします。また、プロジェクトのルートに datadog-ci.json
ファイルがあれば、その中の apiKey
プロパティから取得することも可能です。
オプションとして、build.gradle
スクリプトでプラグインを構成して、EU リージョンにファイルをアップロードするように構成します。
datadog {
site = "EU1"
}
難読化された APK が構築されたらアップロードタスクを実行します。
./gradlew uploadMappingRelease
注: プロジェクトで追加のフレーバーを使用している場合、プラグインは、難読化が有効になっている各バリアントのアップロードタスクを提供します。この場合、RUM Android SDK を適切なバリアント名で初期化します (必要な API はバージョン 1.8.0
以降で使用可能です)。
以下のコードスニペットを使用して、Android Gradle プラグインを Gradle プロジェクトに追加します。
// In your app's build.gradle script
plugins {
id("com.datadoghq.dd-sdk-android-gradle-plugin") version "x.y.z"
}
Datadog 専用の API キーを作成し、環境変数として DD_API_KEY
または DATADOG_API_KEY
という名前でエクスポートします。また、プロジェクトのルートに datadog-ci.json
ファイルがあれば、その中の apiKey
プロパティから取得することも可能です。
アプリの build.gradle
スクリプトファイルで以下のスニペットを追加し、EU リージョンで使用するようプラグインを構成します。
datadog {
site = "EU1"
}
難読化された APK が構築されたらアップロードタスクを実行します。
./gradlew uploadMappingRelease
注: プロジェクトで追加のフレーバーを使用している場合、プラグインは、難読化が有効になっている各バリアントのアップロードタスクを提供します。この場合、RUM Android SDK を適切なバリアント名で初期化します (必要な API はバージョン 1.8.0
以降で使用可能です)。
プラグイン拡張機能を介して構成できるプラグインプロパティがいくつかあります。複数のバリアントを使用している場合は、バリアントの特定のフレーバーにプロパティ値を設定できます。
例えば、fooBarRelease
バリアントの場合、以下のような構成になります。
datadog {
foo {
versionName = "foo"
}
bar {
versionName = "bar"
}
fooBar {
versionName = "fooBar"
}
}
このバリアントのタスク構成は、以下の順序で提供される 3 つのフレーバー構成のすべてからマージされます。
bar
foo
fooBar
これにより、versionName
プロパティの最終的な値は fooBar
と解決されます。
プロパティ名 | 説明 |
---|---|
versionName | アプリケーションのバージョン名 (デフォルトでは build.gradle スクリプトの android ブロックで宣言されたバージョン)。 |
serviceName | アプリケーションのサービス名 (デフォルトでは build.gradle スクリプトの android ブロックで宣言されたアプリケーションのパッケージ名)。 |
site | データをアップロードする Datadog サイト (US1、US3、US5、EU1、または US1_FED)。 |
remoteRepositoryUrl | ソースコードがデプロイされたリモートリポジトリの URL。これを指定しない場合、この値はタスクの実行時に Git コンフィギュレーションから解決されます。 |
checkProjectDependencies | このプロパティは、Datadog Android SDK が依存関係に含まれているかどうかをプラグインがチェックするかどうかを制御します。チェックしない場合、“none” は無視され、“warn” は警告をログに記録し、“fail” はエラーでビルドに失敗します (デフォルト)。 |
デフォルトでは、マッピングのアップロードタスクは、ビルドグラフの他のタスクから独立しています。マッピングのアップロードが必要な場合は、このタスクを手動で実行します。
CI/CD パイプラインでこのタスクを実行し、ビルドグラフの一部としてこのタスクが必要な場合、マッピングファイルが生成された後にアップロードタスクを実行するように設定できます。
例:
tasks["minify${variant}WithR8"].finalizedBy { tasks["uploadMapping${variant}"] }
マッピングファイルは、US1 または EU1 サイトをターゲットとする場合は 200 MB、その他のサイトでは 50 MB に制限されています。プロジェクトでこれより大きなマッピングファイルを使用する場合は、以下のオプションのいずれかを使用してファイルサイズを縮小してください。
mappingFileTrimIndents
オプションを true
に設定します。これにより、ファイルサイズが平均で 5% 小さくなります。mappingFilePackagesAliases
のマップを設定します。これは、パッケージ名をより短いエイリアスで置き換えるものです。注: Datadog のスタックトレースは元のパッケージ名の代わりに同じエイリアスを使うので、サードパーティの依存関係にはこのオプションを使うのがよいでしょう。datadog {
mappingFileTrimIndents = true
mappingFilePackageAliases = mapOf(
"kotlinx.coroutines" to "kx.cor",
"com.google.android.material" to "material",
"com.google.gson" to "gson",
"com.squareup.picasso" to "picasso"
)
}
お役に立つドキュメント、リンクや記事: